第13届景驰-埃森哲杯广东工业大学ACM程序设计大赛

G.旋转矩阵

题解:LR和RL等同没有旋转,所以旋转到最后等价于只向左旋或只向右旋。

感受:fuckkkkk!if-else结构竟然写挂了,比赛结束后真想找块豆腐撞死。

比赛时写的左旋:

 1 /*左旋*/
 2 void print3() {
 3     cout << m << " " << n << endl;
 4     for (int i = m - 1; i >= 0; i--) {
 5         for (int j = 0; j < n; j++) {
 6             if (mp[j][i] == ‘|‘) mp[j][i] = ‘-‘;
 7             if (mp[j][i] == ‘-‘) mp[j][i] = ‘|‘;    //竟然没找出错误,orzzzzz!
 8             cout << mp[j][i];
 9         }
10         cout << endl;
11     }
12 }

最后AC的代码:

 1 #pragma warning(disable:4996)
 2 #include<cstdio>
 3 #include<string>
 4 #include<cstring>
 5 #include<iostream>
 6 #include<algorithm>
 7 using namespace std;
 8
 9 const int maxn = 2000;
10
11 int T, n, m;
12 char mp[100][100];
13
14 string s;
15
16 void print1(){
17     cout << n << " " << m << endl;
18     for (int i = 0; i < n; i++) {
19         for (int j = 0; j < m; j++) cout << mp[i][j];
20         cout << endl;
21     }
22 }
23 /*右旋*/
24 void print2() {
25     cout << m << " " << n << endl;
26     for (int i = 0; i < m; i++) {
27         for (int j = n - 1; j >= 0; j--) {
28             if (mp[j][i] == ‘|‘)  cout << "-";
29             else if (mp[j][i] == ‘-‘)  cout << "|";
30             else cout << mp[j][i];
31         }
32         cout << endl;
33     }
34 }
35 /*左旋*/
36 void print3() {
37     cout << m << " " << n << endl;
38     for (int i = m - 1; i >= 0; i--) {
39         for (int j = 0; j < n; j++) {
40             if (mp[j][i] == ‘|‘)  cout << "-";
41             else if (mp[j][i] == ‘-‘) cout << "|";
42             else cout << mp[j][i];
43         }
44         cout << endl;
45     }
46 }
47 /*左旋两次*/
48 void print4() {
49     cout << n << " " << m << endl;
50     for (int i = n - 1; i >= 0; i--) {
51         for (int j = m - 1; j >= 0; j--) cout << mp[i][j];
52         cout << endl;
53     }
54 }
55
56 int main()
57 {
58     cin >> T;
59     while (T--) {
60         cin >> n >> m;
61         for (int i = 0; i < n; i++)
62             for (int j = 0; j < m; j++) cin >> mp[i][j];
63         cin >> s;
64
65         int l = s.size();
66         int p = 0, q = 0;
67         for (int i = 0; i < l; i++) {
68             if (s[i] == ‘L‘) p++;
69             if (s[i] == ‘R‘) q++;
70         }
71
72         if (p == q) print1();
73         else if (p > q) {
74             p = (p - q) % 4;
75             if (p == 0) print1();
76             else if (p == 1) print3();
77             else if (p == 2) print4();
78             else print2();
79         }
80         else {
81             q = (q - p) % 4;
82             if (q == 0) print1();
83             else if (q == 1) print2();
84             else if (q == 2) print4();
85             else print3();
86         }
87
88         cout << endl;
89     }
90     return 0;
91 }

J.强迫症序列

题解:每次只能对n-1个数加一,等价于每次只能对1个数减一。而且每个元素都相等的情况只有一种。

 1 #pragma warning(disable:4996)
 2 #include<cstdio>
 3 #include<cstring>
 4 #include<iostream>
 5 #include<algorithm>
 6 using namespace std;
 7
 8 const int maxn = 1e5 + 5;
 9
10 int n;
11 int a[maxn];
12
13 int main()
14 {
15     int T;
16     while (cin >> T) {
17         while (T--) {
18             cin >> n;
19             for (int i = 1; i <= n; i++) scanf("%d", a + i);
20             sort(a + 1, a + n + 1);
21             int ans = 0;
22             for (int i = 1; i <= n; i++) ans += (a[i] - a[1]);
23             cout << ans << " " << ans + a[1] << endl;
24         }
25     }
26     return 0;
27 }

K.密码

题解:找规律。

 1 #pragma warning(disable:4996)
 2 #include<cstdio>
 3 #include<string>
 4 #include<cstring>
 5 #include<iostream>
 6 #include<algorithm>
 7 using namespace std;
 8
 9 const int maxn = 100005;
10
11 int n, m;
12 char s[maxn];
13
14 int main()
15 {
16     int T;
17     cin >> T;
18     while (T--) {
19         scanf("%d%s", &n, s);
20         m = strlen(s);
21         if (n == 1 || n >= m) { printf("%s\n", s); continue; }
22
23         for (int i = 0; i < n; i++) {
24             int t = i;
25             int p = 0;
26             while (t < m) {
27                 cout << s[t];
28                 if (i == 0 || i == n - 1) { t += 2 * (n - 1); continue; }
29                 if (p % 2) t += 2 * i;
30                 else t += 2 * (n - i - 1);
31                 p++;
32             }
33         }
34         cout << endl;
35     }
36
37     return 0;
38 }

L.用来作弊的药水

题解:分类讨论。

 1 #pragma warning(disable:4996)
 2 #include<cstdio>
 3 #include<cstring>
 4 #include<iostream>
 5 #include<algorithm>
 6 using namespace std;
 7
 8 const int maxn = 1e5 + 5;
 9
10 int n;
11 int a[maxn];
12
13 int main()
14 {
15
16     int T;
17     cin >> T;
18     while (T--) {
19         int x, a, y, b;
20         cin >> x >> a >> y >> b;
21         bool flag = false;
22         while (true) {
23
24             if (x == 1 && y == 1) { flag = true; break; }
25             if (x == 1 && y != 1) break;
26             if (x != 1 && y == 1) break;
27
28             if (a == b) {
29                 if (x == y) { flag = true; break; }
30                 else break;
31             }
32             else if (a < b) {
33                 if (x < y || x % y) break;
34                 else {
35                     x = x / y;
36                     b = b - a;
37                 }
38             }
39             else {
40                 if (y < x || y % x) break;
41                 else {
42                     y = y / x;
43                     a = a - b;
44                 }
45             }
46             if (x == y && a != b) break;
47         }
48         if (flag) cout << "Yes" << endl;
49         else cout << "No" << endl;
50
51     }
52     return 0;
53 }

原文地址:https://www.cnblogs.com/zgglj-com/p/8640988.html

时间: 2024-07-31 00:37:53

第13届景驰-埃森哲杯广东工业大学ACM程序设计大赛的相关文章

【第13届景驰-埃森哲杯广东工业大学ACM程序设计大赛-J】 强迫症的序列

小A是一个中度强迫症患者,每次做数组有关的题目都异常难受,他十分希望数组的每一个元素都一样大,这样子看起来才是最棒的,所以他决定通过一些操作把这个变成一个看起来不难受的数组,但他又想不要和之前的那个数组偏差那么大,所以他每次操作只给这个数组的其中n-1个元素加1, 输入描述: 第一行一个整数T(T<=100),表示组数 对于每组数据有一个n,表示序列的长度(0< n <100000) 下面一行有n个数,表示每个序列的值(0<ai<1000) 输出描述: 输出两个数第一个数表示

埃森哲杯第十六届上海大学程序设计联赛春季赛暨上海高校金马五校赛 B合约数

链接:https://www.nowcoder.com/acm/contest/91/B来源:牛客网牛客网没有账号的同学,请用这个注册,支持楼主,谢谢. 题目描述 给定一棵n个节点的树,并且根节点的编号为p,第i个节点有属性值vali, 定义F(i): 在以i为根的子树中,属性值是vali的合约数的节点个数.y 是 x 的合约数是指 y 是合数且 y 是 x 的约数.小埃想知道对1000000007取模后的结果. 输入描述: 输入测试组数T,每组数据,输入n+1行整数,第一行为n和p,1<=n<

3星|埃森哲《机器与人》:基于人工智能新闻甚至宣传稿的畅想与分析

机器与人:埃森哲论新人工智能 主题是未来人工智能与人的合作关系的讨论.作者认为人工智能与人各有优劣势,中间有一大片交叉地带是需要人工智能与人一起合作的,这些交叉地带目前还有很多空缺岗位找不到合适的人. 书中的人工智能相关的事实,大部分是新闻稿,其中有不少有宣传稿的味道,也引用了一些研究报告.在此基础上两位作者做了一些畅想和分析.这些畅想和分析的观点基本都见过,没看到有新意. 总体评价3星,有参考价值. 以下是书中一些内容的摘抄: 1:非常有意思的是,在这个通过人工智能重构流程的时代,一些自动化程

埃森哲:2019年网络犯罪成本研究报告(分析)

2019年3月,埃森哲联合Ponemon发布了第九次网络犯罪成本调研报告(Ninth Annual Cost of Cybercrime Study).这份报告针对来自11个国家(都是发达经济体,不含中国)的16个行业的355家公司的2647名高阶主管进行了调研,结果显示,随着被攻|击目标越来越多.影响越来越大.攻|击手段越来越先进,安全泄露事件持续攀升,尽管组织的安全投入也在不断增长,但其应付网络攻|击犯罪的成本(这里的cost也可以叫做代价.开销)仍然在不断提升,预计从2019年到2023年

外企面试,哪有你想象的那么难!(已收埃森哲、NTTDATA等8家外企offer)

无精疯,一名背包客,大学期间穷游了十余个国家,五十余座城市,也是一位拥有健身教练证的业余健身痴迷者.从大二开始自学Java并开始了第一份实习,后面也是通过自学转到了大数据,之前在一家大数据独角兽实习,现在在一家西班牙公司就职大数据开发. 作者也是一名普通学校的学生,但是大学期间看清楚了自己以后要做的事情,并且开始为此努力,学习英语.健身.自学大数据.并且通过自己的努力拿到了多家大厂的offer,最终选择了一家西班牙公司的大数据开发职位. 他的见识.认知方面比大多数人要好得多.不管你是在校学生,还

河南省第七届ACM程序设计大赛赛后总结

我们学校ACM集训开始于4月5号(清明节),5月25日在郑州解放军信息工程大学举办,集训耗时50天,但是感觉效果还行,但是也不是太好:我们也已经尽力了,虽然说只拿了个银牌,每份收获的背后,都会有辛勤的汗水,毕竟我们也努力了: 下面说说比赛中的问题:觉得吧,虽说模拟赛参加了很多,但是到了正式的比赛的时候,还是出现了紧张的情况,九点开始比赛,我们AC第一道题的时间是在十点半左右,题目不难而且曾经也做过啊,但是就是调试不好,越调试不好,心里就越急啊:刚开始看题的时间,我们都看了第一道题,意思也都明白,

山东省第六届“浪潮杯”ACM程序设计大赛:D:Square Number

Description: In mathematics, a square number is an integer that is the square of an integer. In other words, it is the product of some integer with itself. For example, 9 is a square number, since it can be written as 3 * 3. Given an array of distinc

“玲珑杯”第七届郑州轻工业学院ACM程序设计大赛 ------- D:社交网络

题目链接: http://acm.zzuli.edu.cn/problem.php?cid=1099&pid=3 题目大意: 国语题目,题意显而易见, 解题思路: 只需要对每一个节点进行假设,每一个节点可能是交际花的数目总数乘上概率就是这个节点是交际花的期望,把所有期望加和在一起输出就可以了, 忏悔篇: 比赛的时候,我们看到是求期望的,就读了读题意,然后放下了,然后放下了(这是多么错误的决定)..............,然后我们就与第一名擦肩而过了,多么痛的领悟,因为平时接触的求概率的题目较少

湖南省第六届 中信软件教育杯 ???学生程序设计大赛试题 第三题 数字整除

http://www.baidu.com/ 对于每组测试数据,输出一行,表示相应的n是否是17的倍数.1表示是,0表示否. Sample Input 34 201 2098765413 1717171717171717171717171717171717171717171717171718 0 Sample Output 1 0 1 0 Problem Source The Sixth Hunan Collegiate Programming Contest 题目连接:http://acm.hu