Codeforces Round #327 (Div. 2)
2015-11-12 11:54
471 查看
//A #include <cstdio> using namespace std; int main() { int a,b,s; scanf("%d%d%d",&s,&a,&b); printf("%f",s*1.0/(a+b)*a); }
//B #include <cstdio> #include <algorithm> using namespace std; char x[200],a,b,s[200010],now[200]; int n,m; int main() { for (int i='a'; i<='z'; i++) x[i]=i,now[i]=i; scanf("%d%d",&n,&m); scanf("%s\n",&s); for (int i=0; i<m; i++) { scanf("%c %c\n",&a,&b); swap(x[now[a]],x[now[b]]); swap(now[b],now[a]); } for (int i=0; i<n; i++) printf("%c",x[s[i]]); }
//C #include <cstdio> #include <algorithm> using namespace std; int bt[501000],ans[501000]; int main() { int n; scanf("%d",&n); int maxcnt=0,pre=0,d; for (int i=0; i<n; i++) scanf("%d",&bt[i]); for (int i=0; i<n; i++) { ans[i]=bt[i]; int j; for (j=i; j<n-1; j++) if (bt[j]==bt[j+1])break; for (int k=i; k<=j; k++) if (k-i<j-k) ans[k] = bt[i]; else ans[k]=bt[j]; maxcnt=max(maxcnt,j-i-1); i=j; } printf("%d\n",maxcnt/2+maxcnt%2); for (int i=0; i<n; i++) printf("%d ", ans[i]); return 0; }
//D #include <cstdio> using namespace std; double x1,y1,x2,y2,v,t,vx,vy,wx,wy,nx,ny,dx,dy; int main() { scanf("%lf%lf%lf%lf",&x1,&y1,&x2,&y2); scanf("%lf%lf",&v,&t); scanf("%lf%lf%lf%lf",&vx,&vy,&wx,&wy); double L=0,R=1e8; for (int time=0; time<100000; time++) { double M=(L+R)/2.0; if (M<=t) nx=vx*M,ny=vy*M; else nx=vx*t+wx*(M-t),ny=vy*t+wy*(M-t); dx=x2-x1-nx,dy=y2-y1-ny; if (v*v*M*M>dx*dx+dy*dy) R=M; else L=M; } printf("%lf\n",R); }
//E #include <cstdio> #include <algorithm> #include <queue> using namespace std; const int MAXN=1001,INF=100000000; int dx[4]={-1,0,1,0},dy[4]={0,-1,0,1}; char s[MAXN][MAXN]; int dis[3][MAXN][MAXN]; queue<pair<int, int> > Q; int main() { int n, m; scanf("%d%d",&n,&m); for (int i=0; i<n; i++) scanf("%s", s[i]); for (int i=0; i<n; i++) for (int j=0; j<m; j++) dis[0][i][j]=dis[1][i][j]=dis[2][i][j]=INF; for (int k=0; k<3; k++) { while (!Q.empty()) Q.pop(); for (int i=0; i<n; i++) for (int j=0; j<m; j++) if (s[i][j]== k+'1') { Q.push(make_pair(i, j)); dis[k][i][j]=0; } while (!Q.empty()) { int x=Q.front().first,y=Q.front().second; Q.pop(); for (int i=0; i<4; i++) { int xx=x+dx[i],yy=y+dy[i]; if (!(xx >= 0 && xx<n) || !(yy >= 0 && yy<m) || s[xx][yy]== '#') continue; if (dis[k][xx][yy]>dis[k][x][y]+(s[x][y]== '.')) { dis[k][xx][yy]=dis[k][x][y]+(s[x][y]== '.'); Q.push(make_pair(xx, yy)); } } } } int ans=INF; for (int i=0; i<n; i++) for (int j=0; j<m; j++) ans=min(ans, dis[0][i][j]+dis[1][i][j]+dis[2][i][j]+(s[i][j]=='.')); printf("%d\n", ans>=INF?-1:ans); }
相关文章推荐
- 工具
- Zabbix 监控windows服务器监控闪断zabbix_get [12577]: Timeout while executing operatio
- Maven cmd 打包命令
- apt-get: NO_PUBKEY / GPG error
- 定时器管理与函数封装
- CVS
- Zabbix 监控windows服务器监控闪断zabbix_get [12577]: Timeout while executing operatio
- Android 实用工具Hierarchy Viewer实战
- Android三种网络通讯方式及Android的网络通讯机制
- 网上销售平台--pom.xm文件
- 遇到 java.lang.OutOfMemoryError: PermGen space配多少合适我的内存为4G在哪配置Jboss的run.bat还是。。
- phalconphp nginx 配置
- Appium-测试失败后获取屏幕截图的方法
- javaScript细节之生成不重复的随机数
- JAVA面试题大全
- 禁止后退键backspace
- UINavigation设置背景颜色后 界面适配的问题
- python protobuf序列化repeated运用
- WindowsService 安装后报错: 无法启动计算机“.”上的服务 解决方案
- ASP.NET MVC 网站优化总结 使用 Gzip 压缩