Coder-Strike 2014 - Round 1
来源:互联网 发布:公司网络时断时续 编辑:程序博客网 时间:2024/06/10 05:41
http://codeforces.com/contest/412
最大的感悟就是真为我的英语捉急~~
A:要是2*k<=n,就先把梯子移到最左边,然后在按个右移,print,反之,先右移,再左移
B:从大到小排序,输出s[k]
C:按个比较,要是与先前结果相同continue,都是字母但不同为?,与字母不同并且不是?,就是x
D:拓扑排序,倒着输出
E:邮件adress的标准,字母/数字/_(但只有字母有效,此处邮件名不能以_/数字开始)@字母.字母;然后计算@前的字母数与.后的字母数,相乘求和
A:
#include <iostream>#include <cstdio>#include<cstring>using namespace std;const int M=150;char s[M];int vis[M];int main(){ int n,k,i,j; while(~scanf("%d%d",&n,&k)) { scanf("%s",s+1); int len=strlen(s+1); if(2*k<=n)///left { for(i=0;i<k-1;i++) printf("LEFT\n"); printf("PRINT %c\n",s[1]); i=2; while(i<=len) { printf("RIGHT\n"); printf("PRINT %c\n",s[i]); i++; } } else ///left { for(i=0;i<len-k;i++) printf("RIGHT\n"); printf("PRINT %c\n",s[len]); i=len-1; while(i>=1) { printf("LEFT\n"); printf("PRINT %c\n",s[i]); i--; } } } return 0;}
B:
#include <iostream>#include <cstring>#include <cstdio>#include <cmath>#include <algorithm>#include <map>#include <queue>#include <set>#include <vector>#include <stack>using namespace std;const int M=150;int s[M];int cmp(int a,int b){ return a>b;}int main(){ int n,k,i,j; while(~scanf("%d%d",&n,&k)) { for(i=0;i<n;i++) scanf("%d",&s[i]); sort(s,s+n,cmp); printf("%d\n",s[k-1]); } return 0;}
C:
#include <iostream>#include <cstring>#include <cstdio>#include <cmath>#include <algorithm>#include <map>#include <queue>#include <set>#include <vector>#include <stack>using namespace std;const int M=100005;char ans[M],s[M];int main(){ int n,i,j,k; while(~scanf("%d",&n)) { int len; for(i=0;i<n;i++) { scanf("%s",s); len =strlen(s); if(i==0) { //strcpy(ans,s); for(j=0;j<len;j++) ans[j]=s[j]; ans[j]='\0'; continue; } j=0; while(s[j]!='\0') {//puts(s); if(ans[j]=='0'){ j++; continue; } if(s[j]=='?'){ j++; continue; } if(s[j]>='a'&&s[j]<='z') { if(ans[j]=='?') ans[j]=s[j];///此处由于搞错,WR,,,,, else if(ans[j]!=s[j]&&ans[j]!='?') ans[j]='0'; j++; } } } for(i=0;i<len;i++) if(ans[i]=='0') printf("?"); else if(ans[i]=='?') printf("x"); else printf("%c",ans[i]); printf("\n"); } return 0;}D:
#include <iostream>#include <cstring>#include <cstdio>#include <cmath>#include <algorithm>#include <map>#include <queue>#include <set>#include <vector>#include <stack>using namespace std;const int M=3*10000+5;vector<int>vt[M];int vis[M],order[M];int n,m,c;void dfs(int u){ if(vis[u]) return ; vis[u]=1; for(vector<int>::iterator it=vt[u].begin();it!=vt[u].end();++it) { int v=*it; if(!vis[v]) dfs(v); } order[c++]=u;}int main(){ int i,j,k; int a,b; while(~scanf("%d%d",&n,&m)) { for(i=1;i<=n;i++) vt[i].clear(); for(i=0;i<m;i++) { scanf("%d%d",&a,&b); vt[a].push_back(b); } memset(vis,0,sizeof(vis)); c=0; for(i=1;i<=n;i++) { if(!vis[i]) { dfs(i); } } printf("%d",order[0]); for(i=1;i<c;i++) printf(" %d",order[i]); printf("\n"); } return 0;}
E:
#include <iostream>#include <cstring>#include <cstdio>#include <cmath>#include <algorithm>#include <map>#include <queue>#include <set>#include <vector>#include <stack>using namespace std;const int M=1000005;char s[M];int isletter(int i){ if((s[i]>='a'&&s[i]<='z')||(s[i]>='A'&&s[i]<='Z')) return 1; return 0;}int main(){ __int64 len,i,j,k,l,sum; while(~scanf("%s",s)) { sum=0; len=strlen(s); for(i=0;i<len;i++) { if(s[i]=='@') { l=0; for(j=i-1;j>=0;j--) { if(s[j]=='@'||s[j]=='.') break; if(isletter(j)) l++;///开始时字母 } for(j=i+1;j<len;j++) { if(s[j]=='@'||s[j]=='_') break;///@ --.之间是数字和字母 if(s[j]=='.') { if(j==i+1)///@.之间没有字母,无意义 break; for(k=j+1;k<len;k++) { if(!isletter(k))///.后必须是字母 break; } sum+=(k-j-1)*l; //cout<<l<<" "<<k-j-1<<endl; i=j; break; } } } } cout<<sum<<endl; //printf("%I64d\n",sum); } return 0;}
0 0
- Coder-Strike 2014 - Round 1
- Coder-Strike 2014 - Round 1
- Coder-Strike 2014 - Round 1
- [Codeforces]Coder-Strike 2014 - Round 1
- 【索引】Coder-Strike 2014 - Round 1
- Coder-Strike 2014 - Round 1__Giving Awards
- Coder-Strike 2014 - Round 2
- Coder-Strike 2014 - Round 2
- Coder-Strike 2014 - Round 1 B. Network Configuration
- codeforces Coder-Strike 2014 Round 1 C题解题报告
- codeforces Coder-Strike 2014 Round 1 B题解题报告
- codeforces Coder-Strike 2014 Round 1 A题解题报告
- Coder-Strike 2014 - Round 1 D. Giving Awards
- Coder-Strike 2014 - Round 1__E-mail Addresses
- Coder-Strike 2014 - Qualification Round C. Kicker(推理题)
- Coder-Strike 2014 - Qualification Round A. Password Check
- Coder-Strike 2014 - Qualification Round——A. Password Check
- Coder-Strike 2014 - Qualification Round B. Multi-core Processor
- 字节对齐
- GDI+我们可以很方便的对bmp、jpeg、gif、tiff、png格式的图片进行转换
- 无处不在的微创新——验证码的故事
- 插入相同“键值”key时Linux 内核中红黑树的使用
- Spring依赖注入 — 构造器注入
- Coder-Strike 2014 - Round 1
- SP2010开发和VS2010专家"食谱"--第一章节--列表和事件Receiver(9)--调试Feature Receiver
- 通过HTTP协议实现多线程下载
- scrum
- 最长递增子序列LIS算法
- 黑马程序员-HashSet存储自定对象如何确定元素唯一学习日记
- Spring依赖注入 — 值设置与引用
- pdf文件如何根据目录快速批量生成书签
- Spring依赖注入 — 注入依赖检查