Codeforces Round #318 [RussianCodeCup Thanks-Round] (Div. 2)
来源:互联网 发布:mac把图标放在桌面 编辑:程序博客网 时间:2024/05/16 08:16
A. Bear and Elections
题目大意:n个数,求第一个数至少需要从其他数中拿走多少个数才能使得第一个数比其他所有数都大
解题思路:模拟直至满足条件
#include <iostream>#include <cstdio>#include <cmath>#include <algorithm>#include <cstring>#include <queue>#include <string>#include <map>#include <stack>#include <list>#include <set>using namespace std;const int maxn = 100+10;int a[maxn];int main(){ int n; scanf("%d",&n); for(int i = 0; i < n; i++) scanf("%d",&a[i]); sort(a+1,a+n); int ans = 0; while(a[0] <= a[n-1]) { a[0] += 1; ans += 1; a[n-1] -= 1; sort(a+1,a+n); } printf("%d\n",ans); return 0;}
B. Bear and Three Musketeers
题目大意:给出n(4000)个人,m种关系,求三个人相互认识且共认识的除该3个人外的其他人数最小为多少
解题思路:暴力,简单图,先判断是否满足3个相互认识这一条件,再更新最小值
#include <iostream>#include <cstdio>#include <cmath>#include <algorithm>#include <cstring>#include <string>#include <queue>#include <map>#include <set>#include <vector>#include <stack>using namespace std;const int maxn = 4000+100;const int INF = 0xffffff;int G[maxn][maxn],cnt[maxn];int main(){ int n,m,a,b; int ans; while(~scanf("%d%d",&n,&m)) { memset(G,0,sizeof(G)); memset(cnt,0,sizeof(cnt)); for(int i = 0; i < m; i++) { scanf("%d%d",&a,&b); G[a][b] = G[b][a] = 1; cnt[a]++; cnt[b]++; } ans = INF; for(int i = 1; i <= n; i++) { for(int j = 1; j <= n; j++) { if(!G[i][j]) continue; for(int k = 1; k!=i&&k!=j&&k<=n; k++) { if(G[i][k] && G[j][k]) { if(cnt[i]+cnt[j]+cnt[k]-6 < ans) { ans = cnt[i]+cnt[j]+cnt[k]-6; } } } } } printf("%d\n",ans==INF?-1:ans); } return 0;}
C. Bear and Poker
题目大意:给出n(1e5)个数,求这n个数在×3或x2之后会不会得到同一个数
解题思路:把原题转换成每个数除以2或3之后会不会得到同一个数
#include <iostream>#include <cstdio>#include <cmath>#include <algorithm>#include <cstring>#include <string>#include <queue>#include <map>#include <set>#include <vector>#include <stack>using namespace std;const int maxn = 100000+100;int a[maxn];int main(){ int n,flag; while(~scanf("%d",&n)) { for(int i = 0; i < n; i++) { scanf("%d",&a[i]); while(!(a[i]%2)) a[i] /= 2; while(!(a[i]%3)) a[i] /= 3; } flag = 0; for(int i = 1; i < n; i++) if(a[i] != a[i-1]) { flag = 1; break; } if(flag) puts("No"); else puts("Yes"); } return 0;}
0 0
- Codeforces Round #318 [RussianCodeCup Thanks-Round] (Div. 2)
- Codeforces Round #318 [RussianCodeCup Thanks-Round] (Div. 2)
- Codeforces Round #318 [RussianCodeCup Thanks-Round] (Div. 2)A
- Codeforces Round #318 [RussianCodeCup Thanks-Round] (Div. 2) A 模拟
- Codeforces Round #318 [RussianCodeCup Thanks-Round] (Div. 2) B 暴力
- Codeforces Round #318 [RussianCodeCup Thanks-Round] (Div. 2) C 模拟
- Codeforces Round #318 [RussianCodeCup Thanks-Round] (Div. 2) E DFS
- Codeforces Round #318 [RussianCodeCup Thanks-Round] (Div. 1)A,B
- Codeforces Round #318 [RussianCodeCup Thanks-Round] (Div. 1)
- Codeforces Round #318 [RussianCodeCup Thanks-Round] (Div. 2) A. Bear and Elections(优先队列)
- Codeforces Round #318 [RussianCodeCup Thanks-Round] (Div. 2)C. Bear and Poker(gcd模拟)
- Codeforces Round #318 [RussianCodeCup Thanks-Round] (Div. 2) B. Bear and Three Musketeers(STL_暴力)
- Codeforces Round #318 [RussianCodeCup Thanks-Round] (Div. 2)(574A,574B)
- Codeforces Round #318 [RussianCodeCup Thanks-Round] (Div. 2)B Bear and Three Musketeers
- Codeforces Round #318 [RussianCodeCup Thanks-Round] (Div. 2)C Bear and Poker
- Codeforces Round #318 [RussianCodeCup Thanks-Round] (Div. 2)D Bear and Blocks
- Codeforces Round #318 [RussianCodeCup Thanks-Round] (Div. 2) D 双向dp
- Codeforces Round #318 [RussianCodeCup Thanks-Round] (Div. 1) B. Bear and Blocks dp
- Javascript学习笔记
- Java中的集合框架(2)
- EF动态建库时出现数据库表名变为复数的问题
- 一小时搞定计算机网络面试
- 我的作业总结
- Codeforces Round #318 [RussianCodeCup Thanks-Round] (Div. 2)
- SGU106 The equation(数论)
- Android基础 学习之List 和 Adapter
- 关于pow函数。
- jQuery 的选择器
- C++之单例模式
- hdu3054(斐波那契。。。。找规律)
- pazu使用指南
- OC的手动内存管理