CF contest/389
来源:互联网 发布:明山控股集团知乎 编辑:程序博客网 时间:2024/05/16 14:36
A. Fox and Number Game
题意;n个数,She can do the following operation as many times as needed: select two different indexes i and j such that xi > xj hold, and then apply assignment xi = xi - xj. The goal is to make the sum of all numbers as small as possible. 输出最终n个数的sum.
过年几天没有刷过题,然后这个题感觉自己想法有点奇葩……但还不知道别人正解是什么
先找到这N个数的最大公因数,最大公因数*n就是sum.
B. Fox and Cross
题意: 看n*n 的格子里,凡是出现#是否都是在“十字架”图案上。
一开始还以为题目很难。怎么Dfs都感觉不太对的样子。但仔细想想,从中间那个点开始计算就没有问题。如果一个#的四周有#,那么这个5个#必定是合法的。
C. Fox and Box Accumulation
题意: 给N个数字,问需要多少个队列。直接模拟就好。
用ans数组去记录当前第j队列已经放进去几个了。当某一boxes的值大于某一队列(记为ans[j])的数量,则可以放进去,ans[j]++就好,如果当前全部队列都不可以放,那重新开一个队列。
还差 D,E……
#include<stdio.h>#include<string.h>#include<algorithm>using namespace std;int a[110];int vis[110];int main(){ freopen("in.txt","r",stdin); int n; while(~scanf("%d",&n)) { for(int i=0;i<n;i++) scanf("%d",&a[i]); sort(a,a+n); int ans=0; memset(vis,0,sizeof(vis)); for(int i=0;i<n;i++) { for(int j=1;j<=a[i];j++) if(a[i]%j==0) vis[j]++; } for(int i=a[0];i>0;i--) if(vis[i]==n) {printf("%d\n",i*n);break;} } return 0;}
#include<stdio.h>#include<string.h>#include<algorithm>using namespace std;int n;char pos[110][110];int cnt;void change(int x,int y){ for(int i=x-1;i<=x+1;i++) pos[i][y]='.'; for(int i=y-1;i<=y+1;i++) pos[x][i]='.';}bool OK(int x,int y){ for(int i=x-1;i<=x+1;i++) if(pos[i][y]!='#') return 0; for(int i=y-1;i<=y+1;i++) if(pos[x][i]!='#') return 0; return 1;}bool deal(){ if(cnt%5)return 0; cnt/=5; int ans=0; for(int i=0;i<n;i++) for(int j=0;j<n;j++) if(pos[i][j]=='#'&&OK(i,j)) { ans++; change(i,j); } if(ans==cnt) return 1; else return 0;}int main(){ //freopen("in.txt","r",stdin); while(~scanf("%d",&n)) { for(int i=0;i<n;i++) scanf("%s",pos[i]); cnt=0; for(int i=0;i<n;i++) for(int j=0;j<n;j++) if(pos[i][j]=='#')cnt++; if(deal()) printf("YES\n"); else printf("NO\n"); } return 0;}
#include<stdio.h>#include<string.h>#include<algorithm>using namespace std;int n;int x[110];int ans[110];int main(){ freopen("in.txt","r",stdin); while(~scanf("%d",&n)) { for(int i=0;i<n;i++) scanf("%d",&x[i]); sort(x,x+n); int cnt=1; ans[cnt]=1; for(int i=1;i<n;i++) { int ok=1; for(int j=1;j<=cnt;j++) if(x[i]>=ans[j]) {ans[j]++;ok=0;break;} if(ok) ans[++cnt]=1; } printf("%d\n",cnt); } return 0;}
0 0
- CF contest/389
- CF Contest Balloons
- CF contest/382/B. Number Busters
- 坑爹CF April Fools Day Contest题解
- 【CF待填坑】Andrew Stankevich Contest 13
- CF 581F Contest Page 树形DP
- CF contest 892 D题 Gluttony
- CF———— Valera and Contest
- CF Bayan 2015 Contest Warm Up A.(模拟+预处理)
- CF Bayan 2015 Contest Warm Up B.(dfs+暴力)
- CF 2014 Nordic Collegiate Programming Contest E Opening Ceremony
- CF 2014 Nordic Collegiate Programming Contest H.Clock Pictures
- CF#877 A. Alex and broken contest(KMP)
- Contest
- CF 314A(Sereja and Contest-这题题目索性没看懂,E文是硬伤)
- CF Bayan 2015 Contest Warm Up B. Kamal-ol-molk's Painting
- CF Bayan 2015 Contest Warm Up B题 Strongly Connected City
- CF 2013-2014 Samara SAU ACM ICPC Quarterfinal Qualification Contest C.Victor's Research
- Java中equals()与==的区别
- 画图
- JavaScript小结
- 如何定义职业规划
- 动态代理-----深度学习(Proxy,InvocationHandler),含$Proxy0源码
- CF contest/389
- 大学生程序员的意义
- HDU-3635 Dragon Balls 并查集路径压缩
- TP-LINK TL-WN823N 300M driver for linux
- Cocos2d-x 3.0 新特性体验(3)触摸事件处理机制
- C语言中%d,%o,%f,%e,%x的意义
- 内存分析工具讲解
- 在CentOS 6.5上安装NodeJS
- IT学生解惑真经(转) (真的好经典!)