ACM实验室2020.11.01 天梯赛四
7-1 Hello World! (5分)
做法:PASS
代码:
#include<iostream> using namespace std; int main(){ cout << "Hello World!" << endl; }
7-2 电子汪 (10分)
做法:PASS
代码:
#include<iostream> using namespace std; int main(){ int a,b; cin >> a >> b; for(int i = 0;i< a+b;i++){ cout << "Wang!"; } cout << endl; }
7-3 大笨钟 (10分)
做法:这也没啥好说的……控制一下情况输出即可
代码:
//ȥ������£���AC�����Ȼ����� // ******** // ************ // ####....#. // #..###.....##.... // ###.......###### // ........... // ##*####### // ####*******###### // ...#***.****.*###.... // ....**********##..... // ....**** *****.... // #### #### // ###### ###### #include<iostream> #include<algorithm> #include<cstdio> #include<cmath> #include<string> #include<map> #include<sstream> #include<cstring> #include<vector> #include<iomanip> #include<queue> #include<set> #define LL long long #define _64 __int64 const double PI = atan(1.)*4.; using namespace std; int main(){ int m,n; scanf("%d:%d",&n,&m); if(n<12){ printf("Only %02d:%02d. Too early to Dang.",n,m); }else{ if(n==12&&m==0){ printf("Only 12:00. Too early to Dang."); } if(m==0){ n-=12; while(n--){ printf("Dang"); } }else{ n++; n-=12; if(n==13){ n=12; } while(n--){ printf("Dang"); } } } }
7-4 个位数统计 (15分)
做法:就注意一下string类型需要减一下‘0’才能变成int(char类型大概不用??大概)
代码:
//ȥ������£���AC�����Ȼ����� // ******** // ************ // ####....#. // #..###.....##.... // ###.......###### // ........... // ##*####### // ####*******###### // ...#***.****.*###.... // ....**********##..... // ....**** *****.... // #### #### // ###### ###### #include<iostream> #include<algorithm> #include<cstdio> #include<cmath> #include<string> #include<map> #include<sstream> #include<cstring> #include<vector> #include<iomanip> #include<queue> #include<set> #define LL long long #define _64 __int64 const double PI = atan(1.)*4.; using namespace std; int num[10]; int main(){ string s; cin >>s; for(int i = 0;i < s.length();i++){ num[s[i]-'0']++; } for(int i = 0;i < 10;i++){ if(num[i]){ cout << i << ":" << num[i] << endl; } } return 0; }
7-5 古风排版 (20分)
做法:把这玩意看成一个二维数组矩阵就行,用两层for循环控制输入和输出,寻思明白了就不难
代码:
//ȥ������£���AC�����Ȼ����� // ******** // ************ // ####....#. // #..###.....##.... // ###.......###### // ........... // ##*####### // ####*******###### // ...#***.****.*###.... // ....**********##..... // ....**** *****.... // #### #### // ###### ###### #include<iostream> #include<algorithm> #include<cstdio> #include<cmath> #include<string> #include<map> #include<sstream> #include<cstring> #include<vector> #include<iomanip> #include<queue> #include<set> #define LL long long #define _64 __int64 const double PI = atan(1.)*4.; using namespace std; char num[1010][1010]; int main(){ string s; int n; cin >> n; getchar(); getline(cin,s); int len = s.length(); int x = len / n; if(len % n != 0) x += 1; int endnum = 0,i,j; for(i = x-1;i >= 0;i--){ for(j = 0;j < n;j++){ if(endnum < len) num[j][i] = s[endnum++]; else num[j][i] = ' '; } } for(int i = 0;i < n;i++){ for(int j = 0;j < x;j++) cout << num[i][j]; cout << endl; } return 0; }
7-6 连续因子 (20分)
做法:循环遍历,首先数得被因子整除,然后进入一个从任意因子开始循环这个因子后面的数看是否能整除,记录最大长度,当然要是找不到就输出它本身,之后循环输出即可
代码:
//ȥ������£���AC�����Ȼ����� // ******** // ************ // ####....#. // #..###.....##.... // ###.......###### // ........... // ##*####### // ####*******###### // ...#***.****.*###.... // ....**********##..... // ....**** *****.... // #### #### // ###### ###### #include<iostream> #include<algorithm> #include<cstdio> #include<cmath> #include<string> #include<map> #include<sstream> #include<cstring> #include<vector> #include<iomanip> #include<queue> #include<set> #define LL long long #define _64 __int64 const double PI = atan(1.)*4.; using namespace std; int main(){ LL n; LL flag,sum = 0; cin >> n; for(LL i = 2;i * i <= n;i++){ if(n % i != 0){ continue; } LL maxl = 0,j = i,tempn = n; while(tempn % j == 0){ tempn /= j; maxl++; j++; } if(sum < maxl){ sum = maxl; flag = i; } } if(sum == 0){ cout << 1 << endl << n << endl; } else{ cout << sum << endl; for(int i = 0;i < sum;i++){ if(i == 0){ cout << flag+i; } else cout << "*" << flag+i; } cout << endl; } }
7-7 PTA使我精神焕发 (5分)
做法:PASS
代码:
#include<iostream> using namespace std; int main(){ cout << "PTA shi3 wo3 jing1 shen2 huan4 fa1 !" << endl; }
7-8 稳赢 (15分)
做法:控制一下平局次数,然后……然后就判断
代码:
//去吧马里奥!把AC公主救回来! // ******** // ************ // ####....#. // #..###.....##.... // ###.......###### // ........... // ##*####### // ####*******###### // ...#***.****.*###.... // ....**********##..... // ....**** *****.... // #### #### // ###### ###### #include<iostream> #include<algorithm> #include<cstdio> #include<cmath> #include<string> #include<map> #include<sstream> #include<cstring> #include<vector> #include<iomanip> #include<queue> #include<set> #define LL long long #define _64 __int64 const double PI = atan(1.)*4.; using namespace std; int main(){ int n; string s; cin >> n; int num = 0; while(cin >> s && s != "End"){ if(num % n == 0 && num != 0){ cout << s << endl; num = -1; } else{ if(s == "ChuiZi") cout << "Bu" << endl; else if(s == "Bu") cout << "JianDao" << endl; else if(s == "JianDao") cout << "ChuiZi" << endl; } num++; } }
7-10 人以群分 (25分)
做法:emmm就是先存起来,顺便求个平均值,之后排序,将前半部分的加起来,再根据总数是奇数还是偶数判断要不要+1,之后输出即可
代码:
//ȥ������£���AC�����Ȼ����� // ******** // ************ // ####....#. // #..###.....##.... // ###.......###### // ........... // ##*####### // ####*******###### // ...#***.****.*###.... // ....**********##..... // ....**** *****.... // #### #### // ###### ###### #include<iostream> #include<algorithm> #include<cstdio> #include<cmath> #include<string> #include<map> #include<sstream> #include<cstring> #include<vector> #include<iomanip> #include<queue> #include<set> #define LL long long #define _64 __int64 const double PI = atan(1.)*4.; using namespace std; LL num[100010]; int main(){ int n; cin >> n; LL sum = 0; for(int i = 0;i < n;i++){ cin >> num[i]; sum += num[i]; } sort(num,num+n); LL sum1= 0; for(int i = 0;i < n/2;i++){ sum1 += num[i]; } LL temp; if(n % 2 == 1){ temp = n/2+1; }else{ temp = n/2; } cout << "Outgoing #: " << temp << endl; cout << "Introverted #: " << n/2 << endl; cout << "Diff = " << sum - 2*sum1 << endl; }

ACM实验室2020.11.01 天梯赛四
浙公网安备 33010602011771号