codeforces#320ABCD
2015-09-17 18:50
351 查看
题目
A
B
C
D
A
[code]#include <cstdio> #include <iostream> using namespace std; int main(){ unsigned int n; cin >> n; int cc = 0; while(n){ if(n&1){ cc++; } n >>= 1; } cout << cc << endl; return 0; }
B
[code]#include <cstdio> #include <iostream> using namespace std; int d[805]; int a[805][805]; int x[1000005]; int y[1000005]; int main(){ int n; cin >> n; int m = 2*n; for(int i = 1;i <= m;i++){ for(int j = 1;j < i;j++){ scanf("%d",&a[i][j]); x[a[i][j]] = i; y[a[i][j]] = j; } } for(int i = 1000000;i >= 1;i--){ if(!d[x[i]] && !d[y[i]]){ d[x[i]] = y[i]; d[y[i]] = x[i]; } } // for(int i = 1;i <= m;i++){ // int mi = 0; // if(!d[i]){ // for(int j = i+1;j <= m;j++){ // if(!d[j] && a[j][i] > mi){ // mi = a[j][i]; // d[i] = j; // } // } // cout << i << mi << endl; // d[d[i]] = i; // } // } // for(int i = 1;i <= m;i++){ if(i!=1){ printf(" "); } printf("%d",d[i]); } cout << endl; return 0; }
C
[code]#include <cstdio> #include <iostream> #include <cmath> using namespace std; #define INF 1000000001.0 int main(){ int a,b; cin >> a >> b; int x = a-b; int y = a+b; double ans = INF; if(a > b){ int c = floor(x/b); if(c > 0){ if(c&1){ if(c > 1) ans = x*1.0/(c-1); } else{ ans = x * 1.0 /c; } } c = floor(y/b); if(c & 1){ if(c >= 3){ ans = min(ans,y*1.0/(c-1)); } } else{ if(y >= 2) ans = min(ans,y*1.0/c); } if(ans < INF) printf("%.11f\n",ans); else{ printf("%.11f\n",-1.0); } } else if(a == b){ printf("%d\n",a); } else{ cout << -1 << endl; } return 0; }#include <cstdio> #include <iostream> #include <cmath> using namespace std; #define INF 1000000001.0 int main(){ int a,b; cin >> a >> b; int x = a-b; int y = a+b; double ans = INF; if(a > b){ int c = floor(x/b); if(c > 0){ if(c&1){ if(c > 1) ans = x*1.0/(c-1); } else{ ans = x * 1.0 /c; } } c = floor(y/b); if(c & 1){ if(c >= 3){ ans = min(ans,y*1.0/(c-1)); } } else{ if(y >= 2) ans = min(ans,y*1.0/c); } if(ans < INF) printf("%.11f\n",ans); else{ printf("%.11f\n",-1.0); } } else if(a == b){ printf("%d\n",a); } else{ cout << -1 << endl; } return 0; }
D
[code]#include <cstdio> #include <iostream> #include <algorithm> using namespace std; typedef long long LL; LL l[200005]; LL a[200005]; LL r[200005]; int main(){ int n,k,x; cin >> n >>k >>x; for(int i = 1;i <= n;i++){ scanf("%lld",&a[i]); } for(int i = 1;i <= n;i++){ l[i] = l[i-1]|a[i]; } for(int i = n;i >= 1;i--){ r[i] = r[i+1]|a[i]; } LL ans = 0; for(int i = 1;i <= n;i++){ for(int j = 0;j < k;j++){ a[i]*= x; } ans = max(ans,a[i]|l[i-1]|r[i+1]); } cout<< ans << endl; return 0; }
相关文章推荐
- Sublime Text 3 中文输入 快速解决方案
- Redhat5.8 环境下编译安装 Redis 并将其注册为系统服务
- [译]Handlers和内部类如何造成Context泄露
- iOS中objecive-c语言和android中java语言的区别
- 麻省理工告诉你男女配对的真相
- html5屏幕旋转事件 onorientationchange
- Android自由选择TextView的文字
- android ui分析 - 今日头条UI整体结构
- HDU 5015 233 Matrix
- 黑马程序员 java 设计模式之 工厂方法
- 深入理解Java的接口和抽象类
- FMDB实战
- html5实现微信摇一摇功能
- protobuf相关的操作函数
- ORACLE触发器详解
- Hadoop中HDFS的设计目标
- Java学习笔记04 异常
- 深入理解Android的startservice和bindservice
- IOS每天15个注意点系列之UI-应用管理
- 黑马程序员 深入理解 Java中的 流 (Stream)