A. Roman and browser
签到.
1 #include <bits/stdc++.h> 2 using namespace std; 3 4 int n,k,a[110]; 5 6 int get(int b) 7 { 8 int vis[110]; 9 memset(vis,0,sizeof vis); 10 int c = b; 11 while (c <= n) 12 { 13 vis[c] = 1; 14 c += k; 15 } 16 c = b - k; 17 while (c >= 1) 18 { 19 vis[c] = 1; 20 c -= k; 21 } 22 int l = 0,r = 0; 23 for (int i = 1; i <= n; ++i) if (!vis[i]) 24 { 25 if (a[i] == 1) ++l; 26 else ++r; 27 } 28 return abs(l - r); 29 } 30 31 int main() 32 { 33 while (scanf("%d%d",&n,&k) != EOF) 34 { 35 for (int i = 1; i <= n; ++i) scanf("%d",a + i); 36 int res = 0; 37 for (int i = 1; i <= n; ++i) res = max(res,get(i)); 38 printf("%d\n",res); 39 } 40 return 0; 41 }
B. Build a Contest
签到.
1 #include <bits/stdc++.h> 2 using namespace std; 3 4 #define N 100010 5 int n,m,a[N]; 6 int cnt[N]; 7 8 int main() 9 { 10 while (scanf("%d%d",&m) != EOF) 11 { 12 for (int i = 1; i <= m; ++i) scanf("%d",a + i); 13 int need = n; 14 memset(cnt,sizeof cnt); 15 for (int i = 1; i <= m; ++i) 16 { 17 if (cnt[a[i]] == 0) 18 --need; 19 ++cnt[a[i]]; 20 if (need) putchar(‘0‘); 21 else 22 { 23 putchar(‘1‘); 24 for (int j = 1; j <= n; ++j) 25 { 26 --cnt[j]; 27 if (!cnt[j]) 28 ++need; 29 } 30 } 31 } 32 puts(""); 33 } 34 return 0; 35 }
C. NN and the Optical Illusion
签到.
1 #include <bits/stdc++.h> 2 using namespace std; 3 4 const double eps = 1e-8; 5 const double PI = acos(-1.0); 6 7 int main() 8 { 9 int n; double r; 10 while (scanf("%d%lf",&r) != EOF) 11 { 12 double ang1 = 2.0 * PI / n; 13 double ang2 = (PI - ang1) / 2; 14 double R = (r * sin(ang1) * 1.0) / (2 * sin(ang2) - sin(ang1)); 15 printf("%.10f\n",R); 16 } 17 return 0; 18 }
E. Andrew and Taxi
Unsolved.
题意:
给出一张有向图,求改变一些边使得它没有环
改变一条边的花费是它的边权,要使得最大花费最小
输出最大花费和需要改变的边数
再输出相应的边
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。