组队赛130926
来源:互联网 发布:cisco2960g 端口闪黄灯 编辑:程序博客网 时间:2024/05/16 06:04
A题题意:给出n个数,给出[L,R]区间,把区间内的战士消灭掉,并且区间无重复,分别求出L左边R右边第一个存活的位置
思路:因为区间无重复,所以直接更新左端点和右端点
理解题目错了,以为是从左边1开始数到L-1第一个存活的位置,原来是从L-1开始数到1
代码:
#include <iostream>#include <stdio.h>#include <cmath>#include <cstring>#include <algorithm>using namespace std;const int M=100010;int l[M],r[M];int main(){ int n,m; while(scanf("%d%d",&n,&m),n|m) { for(int i=1; i<=n; i++) { l[i]=i-1; r[i]=i+1; } int s,e; while(m--) { scanf("%d%d",&s,&e); int ll=l[s]; int rr=r[e]; if(ll==0)printf("* "); else printf("%d ",ll); if(rr==n+1)printf("*\n"); else printf("%d\n",rr); r[ll]=rr; l[rr]=ll; } printf("-\n"); } return 0;}
I题真的是一大水题呀,直接模拟就行,可是我还是出了好多错,连我都对自己无语了
代码:
#include<iostream>#include<cstdio>#include<cstring>#include <cmath>using namespace std;char a[1005];char ss[5][1005];int n;int main(){ char s[20]; while(scanf("%d",&n)&&n!=0) { scanf("%s",s); if(s[0]=='S') { scanf("%s",a); int l=strlen(a); for(int j=1; j<=3; j++) { for(int i=0; i<l; i++) { if(j==1) { if(a[i]=='1') printf("*."); else if(a[i]=='2') { printf("*."); } else if(a[i]=='3') { printf("**"); } else if(a[i]=='4') printf("**"); else if(a[i]=='5') printf("*."); else if(a[i]=='6') printf("**"); else if(a[i]=='7') printf("**"); else if(a[i]=='8') printf("*."); else if(a[i]=='9') printf(".*"); else if(a[i]=='0') printf(".*"); if(i!=l-1) printf(" "); } else if(j==2) { if(a[i]=='1') printf(".."); else if(a[i]=='2') printf("*."); else if(a[i]=='3') printf(".."); else if(a[i]=='4') printf(".*"); else if(a[i]=='5') printf(".*"); else if(a[i]=='6') printf("*."); else if(a[i]=='7') printf("**"); else if(a[i]=='8') printf("**"); else if(a[i]=='9') printf("*."); else if(a[i]=='0') printf("**"); if(i!=l-1) printf(" "); } else if(j==3) { if(a[i]=='1') printf(".."); else if(a[i]=='2') printf(".."); else if(a[i]=='3') printf(".."); else if(a[i]=='4') printf(".."); else if(a[i]=='5') printf(".."); else if(a[i]=='6') printf(".."); else if(a[i]=='7') printf(".."); else if(a[i]=='8') printf(".."); else if(a[i]=='9') printf(".."); else if(a[i]=='0') printf(".."); if(i!=l-1) printf(" "); } } printf("\n"); } } else { int l; getchar(); for(int i=0; i<3; i++) { gets(ss[i]); l=strlen(ss[i]); } string aa; for(int i=0; i<l; i++) { aa=""; aa+=ss[0][i]; aa+=ss[0][i+1]; aa+=ss[1][i]; aa+=ss[1][i+1]; aa+=ss[2][i]; aa+=ss[2][i+1]; if(aa=="*.....")printf("1"); else if(aa=="*.*...")printf("2"); else if(aa=="**....")printf("3"); else if(aa=="**.*..")printf("4"); else if(aa=="*..*..")printf("5"); else if(aa=="***...")printf("6"); else if(aa=="****..")printf("7"); else if(aa=="*.**..")printf("8"); else if(aa==".**...")printf("9"); else if(aa==".***..")printf("0"); i+=2; } printf("\n"); } } return 0;}
K题
代码:
#include <iostream>#include <stdio.h>#include <cmath>#include <cstring>#include <algorithm>using namespace std;int main(){ int a,b,c; while(scanf("%d%d%d",&a,&b,&c)!=EOF) { if(!a && !b && !c)break; if(a>b)swap(a,b); if(a>c)swap(a,c); if(b>c)swap(b,c); //cout<<a<<" "<<b<<" "<<c<<endl; if(a==b && b==c && a==c) { if(a==13) printf("*\n"); else printf("%d %d %d\n",a+1,b+1,c+1); } else if(a==b) { if(c==13) printf("1 %d %d\n",a+1,a+1); else printf("%d %d %d\n",a,a,c+1); } else if(b==c) { if(a+1==b) { if(b==13) printf("1 1 1\n"); else printf("%d %d %d\n",b,c,b+1); } else printf("%d %d %d\n",a+1,c,c); } else if(a!=b && b!=c && a!=c) { printf("1 1 2\n"); } } return 0;}
- 组队赛130926
- 组队赛130926 Regionals 2011, Latin America
- 7 28 组队赛
- 组队赛130827
- 国庆组队赛131002
- 组队_浙江省赛
- CUGBACM_组队赛1
- 组队赛 五
- 4.19新生组队赛
- 一次组队赛总结
- 8.26组队赛
- 组队赛整理
- 组队赛感悟
- 组队
- 省赛组队赛4
- 省赛组队赛5
- 20110805组队赛d题
- 20110805 组队赛 f题
- POJ 3528 三维凸包模板
- 今天做了个简单的hash
- FusionChart实现金字塔分布图
- 小哀
- Yahoo笔试题
- 组队赛130926
- Struts 2 简介 Struts2的基本流程
- JavaScript中Date对象的getYear()和getFullYear()区别
- 黑马程序员_File类、递归
- 任何设计模式都只是工具
- Linux Shell 编程实战技巧
- 测试
- iOS并发编程指南
- 我喜欢的一篇关于家庭教育的文章