Codeforces #395 Div2
来源:互联网 发布:周笔畅淘宝店服装 编辑:程序博客网 时间:2024/05/20 11:23
A. Taymyr is calling you
Accepted
#include<iostream>using namespace std;int gcd(int a, int b) { if(!b) return a; else return gcd(b, a % b);}int main() { int n, m, z; cin >> n >> m >> z; int t = n*m/gcd(n, m); cout << z / t << endl; return 0;}
B. Timofey and cubes
Accepted
#include<iostream>using namespace std;int main(){ int n,i,t; cin >> n; int a[n+1]; for(i=1;i<=n;i++) cin >> a[i]; for(i=1;i<=n/2;i++) { if(i%2==1) { t=a[i]; a[i]=a[n+1-i]; a[n+1-i]=t; } } for(i=1;i<=n;i++) cout << a[i] <<' ';}
C. Timofey and a tree
Accepted
思路:遍历所有连着不同颜色的点的边,若这些边有一个公共结点,则为YES,否则为NO。
#include<iostream>#include<vector>#include<cstring>using namespace std;const int maxn = 100000 + 10;struct Node { int v1, v2; Node(int x = -1, int y = -1): v1(x), v2(y) {}};vector<Node> edge;int n, c[maxn], f[maxn];int main() { cin >> n; int s, t, cnt = 0; for(int i = 0; i < n-1; i++) { cin >> s >> t; edge.push_back(Node(s-1, t-1)); } for(int i = 0; i < n; i++) cin >> c[i]; memset(f, 0, sizeof(f)); for(int i = 0; i < n-1; i++) { Node& u = edge[i]; if(c[u.v1] == c[u.v2]) continue; cnt++; f[u.v1]++; f[u.v2]++; //if(f[u.v1] != cnt && f[u.v2] != cnt) { cout << "NO" << endl; return 0; } } for(int i = 0; i < n; i++) if(f[i] == cnt) { cout << "YES" << endl << i+1 << endl; return 0; } cout << "NO" << endl; return 0;}
D. Timofey and rectangles
Accepted
思路:以右下方点的坐标(x, y)代表矩形,如果两个矩阵接触,那么x和x1, y和y1的奇偶不能同时相同,因为各个边的长度是奇数。取contrapositive, 奇偶性都相同,那么一定不接触。所以只要保证每种奇偶性一种颜色即可。奇奇、偶偶、奇偶、偶奇,四种颜色刚好够。此问题必然有解!
#include<iostream>using namespace std;int main() { int n, x0, y0, x1, y1; cin >> n; cout << "YES" << endl; for(int i = 0; i < n; i++) { cin >> x0 >> y0 >> x1 >> y1; cout << 2*abs(x0 % 2) + abs(y0 % 2) + 1 << endl; } return 0;}
E. Timofey and remoduling
Wrong answer on test 8
#include<iostream>#include<algorithm>using namespace std;int main(){ int n,start=1,i,val[2],cnt[2],loc[2]; unsigned long long int m; cin >> m >> n; unsigned long long int a[n+1],d[n+1]; for(i=1;i<=n;i++) cin >> a[i]; sort(a+1,a+n+1); for(i=1;i<=n-1;i++) d[i]=a[i+1]-a[i]; d[n]=(m+a[1]-a[n])%m; val[0]=d[1]; val[1]=-1; cnt[0]=1; cnt[1]=0; loc[0]=1; loc[1]=0; for(i=2;i<=n;i++) { if(d[i]==val[0]) cnt[0]++; else if(val[1]==-1) { val[1]=d[i]; cnt[1]++; loc[1]=i; } else if(val[1]==d[i]) cnt[1]++; else { val[0]=-1; break; } } if(val[0]==-1) cout <<-1; else if(cnt[0]>1&&cnt[1]>1) cout <<-1; else if(cnt[0]>1||cnt[1]==0) cout << a[1+loc[1]%n] << ' ' << val[0]; else cout << a[1+loc[0]%n ]<< ' ' << val[1];}
1 0
- Codeforces #395 Div2
- Codeforces 395 div2 D
- codeforces #78 div2 C
- codeforces 83div2
- 【codeforces #91 div2】
- codeforces 105 div2 A
- codeforces 105 div2 B
- CodeForces #120 DIV2
- Codeforces---125--div2--总结
- Codeforces-127-div2
- codeforces-div2-128
- codeforces-div2-134
- Codeforces 135 div2
- codeforces 137 div2
- Codeforces #137 div2
- Codeforces #49 div2
- codeforces 145 div2 A
- codeforces #147(div2)
- 一些java相关链接地址
- 算法训练 未名湖边的烦恼 (动态规划)
- 【NOIP2016】bzoj4719 天天爱跑步
- 一点关于最简单的Win32应用程序的研究
- InnoDB学习日记
- Codeforces #395 Div2
- 关于Shapefile乱码问题
- spring MVC HelloWord(xml)
- 小K的农场 洛谷1993 差分约束
- 字典树 trieTree
- js HTML5 Canvas绘制转盘抽奖
- 学习游戏服务器编程进阶篇之全球同服技术架构
- P1017 进制转换
- 常见的移动端和web的问题锦集