省赛选拔之愚人节专题

来源:互联网 发布:冬红果盆景淘宝价格 编辑:程序博客网 时间:2024/05/19 15:19

点击打开链接

明天就愚人了,学长在开玩笑啊


A


#include"stdio.h"#include"string.h"#include"stdlib.h"struct node{int a;}aa[100001];int cmp(const void*a,const void*b){return (*(struct node*)b).a-(*(struct node*)a).a;}int main(){int n,m,i;while(scanf("%d%d",&n,&m)!=-1){if(n==0&&m==0)break;for(i=0;i<n;i++)scanf("%d",&aa[i].a);qsort(aa,n,sizeof(aa[0]),cmp);if(m>n)m=n;for(i=0;i<m-1;i++)printf("%d ",aa[i].a);printf("%d\n",aa[i]);}return 0;}




B


#include"stdio.h"int main(){char s,ss;int ans;int i,n;scanf("%d",&n);ans=0;getchar();scanf("%c",&s);for(i=1;i<n;i++){scanf("%c",&ss);if(ss==s)ans++;s=ss;}printf("%d\n",ans);return 0;}



C

#include"stdio.h"int main(){int n,ans,i;char str[5];scanf("%d",&n);getchar();ans=0;for(i=0;i<n;i++){gets(str);if(str[0]=='X'){if(str[1]=='-')ans--;else if(str[1]=='+')ans++;}else if(str[0]=='+')ans++;else if(str[0]=='-')ans--;}printf("%d\n",ans);return 0;}


D

水,唯一的一个难点是文件输入输出!

#include"stdio.h"int main(){freopen("input.txt","r",stdin);    freopen("output.txt","w",stdout);char s,ss;int n,m,i,j;scanf("%d%d",&n,&m);i=j=0;if(n<=m){s='G';ss='B';}else{s='B';ss='G';}while(i<n&&j<m){printf("%c%c",s,ss);i++;j++;}while(i<n){printf("B");i++;}while(j<m){printf("G");j++;}printf("\n");return 0;}


E

#include"stdio.h"int main(){int n,k,t,i;char str[51];scanf("%d%d",&n,&k);getchar();gets(str);t=0;while(k>0){k--;for(i=0;str[i];i++){if(str[i]=='B'&&str[i+1]=='G'){str[i]='G';str[i+1]='B';i++;}}}puts(str);return 0;}

F

学长在开玩笑啊,

这题看起来有点难,刚开始没明白题目意思,后来才发现是对字符串中的任意两个字符进行异或运算和或运算,然后用得到的两个结果替换原来的两个字符。

很明显:

11-----01或10

01-----11

10-----11

00-----00;

很明显可以把11,01,10转换成11,10,01,00;

即:只要有1就可以转换成任意的01组合;

所以只需判断两个字符串中是否有1就可以了;

注意在判断之前需要判断两个字符串的长短是否相同。。。

#include"stdio.h"#include"string.h"char a[1000001];char b[1000001];int main(){int n,m,i;    scanf("%s",a);    scanf("%s",b);    n = strlen(a); m = strlen(b);    if (n != m) printf("NO\n");else{int x,t;x=t=0;for(i=0;i<n;i++)if(a[i]=='1')x=1;for(i=0;i<m;i++)if(b[i]=='1')t=1;if((x==1&&t==1)||(x==0&&t==0))printf("YES\n");else printf("NO\n");}return 0;}


原创粉丝点击