Codeforces Round #444 (Div. 2)
来源:互联网 发布:笔记本密码重设软件 编辑:程序博客网 时间:2024/05/22 13:00
icpc后的第一场cf,6000+人,似乎是个涨粉的好机会,然而时间段确实比较坑,昨晚凌晨3点,有点尴尬
这场其实完全就是手速场了,三道签到题,然而我却wa了两发,还是交题之前一定要谨慎啊,细节决定成败
1.5h做完后,实在太困了,剩余1h直接睡觉了,要不然开启hack模式,似乎会比较有趣
看看这三题吧
A. Div. 64
思路:这题真心纯签到啊,统计非前导0的个数,不小于6则yes,小于则no
#include <iostream>#include <cstdio>#include <algorithm>#include <vector>#include <cstring>#include <map>#include <cmath>#include <string>#include <queue>#include <stack>using namespace std;const int maxn = 110;char num[maxn];int main(){ while(scanf("%s",num)!=EOF) { int len = strlen(num); bool st = false; int sum = 0; for(int i=0;i<len;i++) { if(num[i]=='1') { st = true; } else { if(st) { sum++; } } } if(sum >= 6) { printf("yes\n"); } else { printf("no\n"); } } return 0;}
B. Cubes for Masha
思路:这题,统计所有可能的数组合,思路一定要清晰啊,位数问题与前导0,这场考了很多前导0问题,而纯暴力似乎有的时候也挺奏效
#include <iostream>#include <cstdio>#include <algorithm>#include <vector>#include <cstring>#include <map>#include <cmath>#include <string>#include <queue>#include <stack>using namespace std;const int maxn = 1e5+10;bool cube[3][10];bool num[1000];int main(){ int n; while(scanf("%d",&n)!=EOF) { memset(cube,false,sizeof(cube)); memset(num,false,sizeof(num)); for(int i=0;i<n;i++) { for(int j=0;j<6;j++) { int temp; scanf("%d",&temp); cube[i][temp] = true; } } if(n==1) { for(int i=0;i<10;i++) { if(cube[0][i]) { num[i] = true; } } } else if(n==2) { for(int j=0;j<2;j++) { for(int i=0;i<10;i++) { if(cube[j][i]) { num[i] = true; } } } for(int j=0;j<10;j++) { for(int k=0;k<10;k++) { if(cube[0][j]&&cube[1][k]) { num[j+k*10] = true; num[k+j*10] = true; } } } } else { for(int i=0;i<3;i++) { for(int j=0;j<10;j++) { if(cube[i][j]) { num[j] = true; } } for(int j=0;j<10;j++) { for(int k=0;k<10;k++) { if(cube[(i+1)%3][j]&&cube[(i+2)%3][k]) { num[j+k*10] = true; num[k+j*10] = true; } } } } for(int i=0;i<10;i++) { for(int j=0;j<10;j++) { for(int k=0;k<10;k++) { if(cube[0][i]&&cube[1][j]&&cube[2][k]) { num[i+j*10+k*100] = true; num[i+k*10+j*100] = true; num[j+i*10+k*100] = true; num[j+k*10+i*100] = true; num[k+i*10+j*100] = true; num[k+j*10+i*100] = true; } } } } } int re; for(re=1;re<1000;re++) { if(!num[re]) { break; } } printf("%d\n",re-1); } return 0;}
C. Solution for Cube
思路:转二元魔方问题,由于这题情况很清晰,直接强行开暴力,至于交题之前一定要检查一发,代码还没写完就慌忙交题,这个wa我无话可说
#include <iostream>#include <cstdio>#include <algorithm>#include <vector>#include <cstring>#include <map>#include <cmath>#include <string>#include <queue>#include <stack>using namespace std;const int maxn = 1e5+10;int cube[30];int col[6];int main(){ while(scanf("%d",&cube[1])!=EOF) { bool make = false; col[0] = cube[1]; for(int i=2;i<=24;i++) { scanf("%d",&cube[i]); if(i%4==1) { col[(i-1)/4] = cube[i]; } else { if(cube[i] != col[(i-1)/4]) { col[(i-1)/4] = -1; } } } if(col[0]>0&&col[2]>0) { if( cube[15]==cube[16] &&cube[16]==cube[ 5] &&cube[ 5]==cube[ 6] &&cube[ 7]==cube[ 8] &&cube[ 8]==cube[17] &&cube[17]==cube[18] &&cube[19]==cube[20] &&cube[20]==cube[21] &&cube[21]==cube[22] &&cube[23]==cube[24] &&cube[24]==cube[13] &&cube[13]==cube[14]) { make = true; } if( cube[15]==cube[16] &&cube[16]==cube[21] &&cube[ 5]==cube[ 6] &&cube[ 7]==cube[ 8] &&cube[ 8]==cube[13] &&cube[17]==cube[18] &&cube[19]==cube[20] &&cube[20]==cube[ 5] &&cube[21]==cube[22] &&cube[23]==cube[24] &&cube[24]==cube[17] &&cube[13]==cube[14]) { make = true; } } else if(col[1]>0&&col[5]>0) { if( cube[ 3]==cube[ 4] &&cube[ 4]==cube[18] &&cube[18]==cube[20] &&cube[17]==cube[19] &&cube[19]==cube[11] &&cube[11]==cube[12] &&cube[ 9]==cube[10] &&cube[10]==cube[13] &&cube[13]==cube[15] &&cube[14]==cube[16] &&cube[16]==cube[ 1] &&cube[ 1]==cube[ 2]) { make = true; } if( cube[ 3]==cube[ 4] &&cube[ 4]==cube[15] &&cube[18]==cube[20] &&cube[17]==cube[19] &&cube[19]==cube[ 1] &&cube[11]==cube[12] &&cube[ 9]==cube[10] &&cube[10]==cube[18] &&cube[13]==cube[15] &&cube[14]==cube[16] &&cube[16]==cube[11] &&cube[ 1]==cube[ 2]) { make = true; } } else if(col[3]>0&&col[4]>0) { if( cube[ 1]==cube[ 3] &&cube[ 3]==cube[21] &&cube[ 6]==cube[ 8] &&cube[ 5]==cube[ 7] &&cube[ 7]==cube[ 2] &&cube[10]==cube[12] &&cube[ 9]==cube[11] &&cube[11]==cube[ 6] &&cube[21]==cube[23] &&cube[22]==cube[24] &&cube[24]==cube[10] &&cube[ 2]==cube[ 4]) { make = true; } if( cube[ 1]==cube[ 3] &&cube[ 3]==cube[ 6] &&cube[ 6]==cube[ 8] &&cube[ 5]==cube[ 7] &&cube[ 7]==cube[10] &&cube[10]==cube[12] &&cube[ 9]==cube[11] &&cube[11]==cube[21] &&cube[21]==cube[23] &&cube[22]==cube[24] &&cube[24]==cube[ 2] &&cube[ 2]==cube[ 4]) { make = true; } } if(make) { printf("YES\n"); } else { printf("NO\n"); } } return 0;}
暴力场,排名还算挺可观的,要是时间早一点,没提前睡觉,专心来个hack什么的肯定分数大涨了,等等看排名的变化吧
好吧,unrated,似乎是题目难度设置出了点问题,导致变成了纯手速场
文章地址:http://blog.csdn.net/owen_q/article/details/78443433
阅读全文
1 0
- Codeforces Round #444 (Div. 2)
- Codeforces Round #444 (Div. 2)
- Codeforces Round #444 (Div. 2)
- Codeforces Round #444 (Div. 2) 总结
- Codeforces Round #444 (Div. 2) C
- Codeforces Round #444 (Div. 2)-ABC
- Codeforces Round #444 (Div. 2)A. Div. 64
- Codeforces Round #444 (Div. 2) A. Div. 64
- Codeforces Round #444(Div. 2) A. Div. 64
- Codeforces Round #102 (Div. 2)
- Codeforces Round #103 (Div. 2)
- Codeforces Round #103 (Div. 2)
- Codeforces Round #104 (Div. 2)
- Codeforces Round #105 (Div. 2)
- Codeforces Round #105 (Div. 2)
- Codeforces Round #107 (Div. 2)
- Codeforces Round #108 (Div. 2)
- Codeforces Round #110 (Div. 2)
- CAAnimation动画收录:三、核心动画笔记
- volatilevolatilevolatile
- compass常用模块总结
- Hibernate第一章
- 解决IIS启动后报<modules>错误的方案。
- Codeforces Round #444 (Div. 2)
- Android colorPrimary、colorPrimaryDark、colorAccent详解
- HDU-2008(数值统计)
- ICMP协议
- ppa源
- Java开发:开源框架面试总结
- java的数据类型
- HDU
- Spring Boot定时器