山东理工大学ACM平台题目答案.doc

上传人:scccc 文档编号:12577396 上传时间:2021-12-04 格式:DOC 页数:41 大小:144KB
返回 下载 相关 举报
山东理工大学ACM平台题目答案.doc_第1页
第1页 / 共41页
山东理工大学ACM平台题目答案.doc_第2页
第2页 / 共41页
山东理工大学ACM平台题目答案.doc_第3页
第3页 / 共41页
亲,该文档总共41页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《山东理工大学ACM平台题目答案.doc》由会员分享,可在线阅读,更多相关《山东理工大学ACM平台题目答案.doc(41页珍藏版)》请在三一文库上搜索。

1、山东理工大学 ACM平台题目答案1464#include<stdio.h> #include<stdlib.h> struct nodeint date;struct node *next;struct node *creat(struct node *head,int m)int i;struct node *p,*tail;head->next=NULL;tail=head; for(i=1;i<=m;i+)p=(struct node*)malloc(sizeof(struct node); scanf("%d",&p-&g

2、t;date);p->next=NULL; tail->next=p; tail=p;return head;struct node *del(struct node *head,int z,int r)struct node *q,*p;int i=0;p=head; while(p->next!=NULL)if(p->next->date>=z)&&(p->next->date<=r) i=1;break;else p=p->next;if(i=1)q=p->next; p->next=q->ne

3、xt; free(q);return p;else return 0;void show(struct node *head)struct node *y; y=head->next; while(y!=NULL) if(y->next!=NULL) printf("%d ",y->date); if(y->next=NULL) printf("%d",y->date);y=y->next;printf("n");int main()int n,v,n1,n2,n3,i;struct node *h

4、ead,*q;scanf("%d",&n1);for(i=0;i<n1;i+)v=0;head=(struct node*)malloc(sizeof(struct node);scanf("%d %d %d",&n,&n2,&n3);getchar();creat(head,n);q=head;while(q!=NULL)q=del(q,n2,n3);+v;if(v-1=n)printf("-1n");elseshow(head);free(q);free(head);return 0;1138

5、#include<stdio.h>#include<stdlib.h>struct nodeint date;struct node *next;struct node *creat(struct node *head,int m)int i;struct node *p,*tail;head->next=NULL;tail=head;for(i=1;i<=m;i+)p=(struct node*)malloc(sizeof(struct node); scanf("%d",&p->date);p->next=NULL

6、;tail->next=p;tail=p;return head;struct node *del(struct node *head,int z)struct node *q,*p;int i=0;p=head;while(p->next!=NULL)if(p->next->date=z)i=1;break;else p=p->next;if(i=1) q=p->next; p->next=q->next; free(q); return p;else return 0;void show(struct node *head)struct no

7、de *y; y=head->next; while(y!=NULL) if(y->next!=NULL) printf("%d ",y->date); if(y->next=NULL) printf("%d",y->date);y=y->next; printf("n");int main()int n,k,v=0;struct node *head,*q;head=(struct node*)malloc(sizeof(struct node); scanf("%d",&am

8、p;n);creat(head,n); scanf("%d",&k); printf("%dn",n); show(head); q=head; while(q!=NULL) q=del(q,k);+v;printf("%dn",n-v+1); show(head); return 0;1605 #include<stdio.h>#include<string.h> void show(char c,int a,int b) if(c='+') printf("%dn"

9、;,a+b);else if(c='-') printf("%dn",a-b);else if(c='*') printf("%dn",a*b);else if(c='/'&&b!=0) printf("%.2lfn",1.0*a/b);int main()int n,a1000,b1000,i;char c1000;while(scanf("%d",&n)!=EOF) getchar(); for(i=0;i<n;i+) scanf(&

10、quot;%c %d %d",&ci,&ai,&bi); getchar(); for(i=0;i<n;i+) show(ci,ai,bi);return 0;1606#include<stdio.h>int f(int m)int p;if(m=0)p=7;if(m=1) p=11;if(m>1) p=f(m-1)+f(m-2);return p;int main()int n,m; while(scanf("%d",&n)!=EOF) m=f(n); if(m%3=0) printf("yesn

11、"); elseprintf("non");return 0;1608#include<stdio.h> #include<stdlib.h> int main()int n,m,i,j,k;int *a;scanf("%d %d",&n,&k);a=(int *)malloc(n*sizeof(int); for(i=0;i<n;i+) scanf("%d",&ai);for(i=0;i<n-1;i+) for(j=0;j<n-i-1;j+) if(aj&l

12、t;aj+1) m=aj;aj=aj+1;aj+1=m; for(i=0;i<k;i+)if(i<k-1)printf("%d ",ai);else printf("%dn",ai);return 0;1607#include<stdio.h>#include<stdlib.h>int main()int n,a,b,i;int *x;while(scanf("%d %d %d",&a,&b,&n)!=EOF&&(a|b|n) x=(int *)malloc(

13、n*sizeof(int); x0=1;x1=1;for(i=2;i<n;i+) xi=(a*xi-1+b*xi-2)%7; printf("%dn",xn-1); free(x);return 0;1634#include<stdio.h>int f(int k)int i,j;for(i=2;i<k;i+)if(k%i=0) j=i; break;return j;int show(int a)int i;for(i=2;i<a-1;i+)if(a%i=0) return 0;return 1;int main()int n,m,i,k;s

14、canf("%d",&n);for(i=0;i<n;i+)scanf("%d",&m); k=m;if(show(m) printf("%d",m);if(!show(m) while(!show(k) printf("%d*",f(k); k=k/f(k); printf("%d",k); printf("n");return 0;2119#include<stdio.h> #include<stdlib.h> struct n

15、odeint date;struct node *next;struct node * creat(int n)struct node *p,*head1,*tail;head1=(struct node*)malloc(sizeof(struct node); int i;head1->next=NULL; tail=head1;for(i=1;i<=n;i+)p=(struct node*)malloc(sizeof(struct node); scanf("%d",&p->date);p->next=NULL; tail->nex

16、t=p; tail=p;return head1; struct node * built(int m)struct node *q,*head2,*end;head2=(struct node*)malloc(sizeof(struct node); int j;head2->next=NULL;end=head2;for(j=1;j<=m;j+)q=(struct node *)malloc(sizeof(struct node); scanf("%d",&q->date);q->next=NULL; end->next=q; en

17、d=q;return head2;struct node * merge(struct node *head1,struct node *head2) struct node *p,*q,*tail; p=head1->next;q=head2->next; tail=head1; free(head2); while(p&&q)if(p->date<q->date)tail->next=p;tail=p; p=p->next;else tail->next=q; tail=q; q=q->next;if(p)tail-&g

18、t;next=p;elsetail->next=q;return head1;void show(struct node *head1)struct node *p;p=head1->next;while(p!=NULL) if(p->next!=NULL) printf("%d ",p->date); else printf("%dn",p->date);p=p->next;int main()struct node *head1,*head2;int n,m;scanf("%d %d",&

19、;n,&m); head1=creat(n); head2=built(m);head1=merge(head1,head2); show(head1);return 0;2120#include<stdio.h> #include<stdlib.h> int c=0;int v=0;struct nodeint date;struct node *next;struct node *creat(int n)struct node *head1,*p,*tail;int i;head1=(struct node *)malloc(sizeof(struct no

20、de); head1->next=NULL;tail=head1; for(i=1;i<=n;i+)p=(struct node *)malloc(sizeof(struct node); scanf("%d",&p->date);p->next=NULL;tail->next=p; tail=p;return head1;struct node *split(struct node *head1)struct node *head2,*p,*q,*tail,*end; head2=(struct node *)malloc(sizeo

21、f(struct node); head2->next=NULL;end=head2; p=head1->next;head1->next=NULL; tail=head1;q=p->next; while(p!=NULL) if(p->date%2!=0) p->next=NULL; tail->next=p; tail=p; c+;else p->next=NULL; end->next=p; end=p; v+;p=q; if(q!=NULL) q=q->next;return head2;void show(struct no

22、de *head1,struct node *head2) struct node *p,*q; p=head2->next; q=head1->next; while(p!=NULL) if(p->next!=NULL) printf("%d ",p->date);else printf("%dn",p->date);p=p->next; while(q!=NULL) if(q->next!=NULL) printf("%d ",q->date);else printf("%

23、dn",q->date); q=q->next;int main()int n;struct node *head1,*head2; scanf("%d",&n); head1=creat(n); head2=split(head1); printf("%d %dn",v,c); show(head1,head2);return 0;2187 #include<stdio.h> #include<string.h>int main()char a100000,b100000;int i,j,k,m,v

24、,c,n;while(scanf("%s %s",a,b)!=EOF) n=0;getchar();k=strlen(a);j=strlen(b);c=0;for(i=0;i<k;i+)v=0;m=n;for(;m<j;)if(ai-bm=0)n=m;v=1;n=n+1; break;else m+;if(v=1)c+;if(c=k)printf("Yesn");else printf("Non");return 0;2761#include<stdio.h>#include<string.h>in

25、t main()int m,j,k,i,c10000,v;char a10000;while(scanf("%s",a)!=EOF) getchar();k=strlen(a);m=0;for(i=0;i<k;)cm=0;v=0;for(j=i;j+)if(ai-aj=0)cm+;+v;if(ai-aj!=0)break;if(cm=1)printf("%c",ai);if(cm>1)printf("%d%c",cm,ai);i=i+v;m+;printf("n");return 0;2765#incl

26、ude<stdio.h>int main()int n,m,i;long a100;while(scanf("%d %d",&n,&m)!=EOF)for(i=1;i<m;i+)ai=i; for(i=m;i<=n;i+)ai=ai-m+1+ai-1; printf("%ldn",an);return 0;2773#include<stdio.h>int main()int n,m,i,k;scanf("%d",&n);for(i=0;i<n;i+) scanf(&qu

27、ot;%d",&m); if(m<150) k=m;else if(m>150&&m<200) k=m-150;else if(m>200&&m<300)k=m-200;else if(m>300&&(m%100>0)&&(m%100<50) k=m%100;else if(m>300&&(m%100>50)&&(m%100<100) k=m%100-50;elsek=0;printf("%dn"

28、,k);return 0;2560#include<stdio.h>#include<string.h>int main()int i,j,k,n;char a100000,b100000,c5; strcpy(c,"2013");while(gets(a)!=NULL)if(strcmp(a,c)=0)break;k=strlen(a);j=0;for(i=0;i<k;i+)if(ai!=' ')bj=ai;j+;n=0;for(i=0,k=j-1;i<k;i+,k-) if(bi=bk) n+;if(n=j/2) pr

29、intf("YESn"); else printf("NOn");return 0;1916#include<stdio.h> #include<string.h> int main()int n,j,k,i,m,v,h;char a1000,b100000; scanf("%d",&n);getchar(); for(i=0;i<n;i+) scanf("%s",a); getchar(); h=strlen(a); k=0;for(j=0;j<h;j+) if(aj=

30、'-'&&(aj-1>='0'&&aj-1<='9'&&aj+1<='9'&&a j+1>='0')&&(aj+1-aj-1>=0) for(m=j;m<j+aj+1-aj-1-1;m+) bk=aj-1+(m-j+1);k+;else if(aj='-'&&(aj-1>='a'&&aj-1<='z'&

31、&aj+1<='z'&&aj+1 >='a')&&(aj+1-aj-1>=0) for(m=j;m<j+aj+1-aj-1-1;m+) bk=aj-1+(m-j+1);k+;else if(aj='-'&&(aj-1>='A'&&aj-1<='Z'&&aj+1<='Z'&&aj+1 >='A')&&(aj+1-aj-1

32、>=0) for(m=j;m<j+aj+1-aj-1-1;m+) bk=aj-1+(m-j+1);k+;elsebk=aj; k+; for(v=0;v<k;v+) printf("%c",bv);printf("n");return 0;2085#include<stdio.h>#include<string.h>int main()int n,m,j,i,k,h,i1,i2,v;char a20201,t; scanf("%d",&n); getchar();for(i=0;i&l

33、t;n;i+)gets(ai); k=strlen(ai); for(j=0,h=k-1;j<h;j+,h-)t=aij;aij=aih;aih=t; aik=' ' m=0;v=0;for(j=0;j<=k;j+)if(aij=' ')m=j;for(i1=v,i2=m-1;i1<i2;i2-,i1+) t=aii1;aii1=aii2;aii2=t; v=m+1;printf("Case %d:",i+1); for(h=0;h<k;h+) printf("%c",aih);printf(&qu

34、ot;n");return 0;1568#include<stdio.h>#include<string.h>int main()int n,j,k,m,i,v,h;char a2020; scanf("%d %d",&n,&m); getchar(); for(i=0;i<n;i+)gets(ai);for(i=0;i<n;i+)k=0; for(j=0;j<m;j+)if(aij='1')+k;if(k=m)for(h=i;h>0;h-)strcpy(ah,ah-1); for(v

35、=0;v<m;v+) a0v='0'for(i=0;i<n;i+)for(j=0;j<m;j+) printf("%c",aij);printf("n");return 0;1594 #include<stdio.h>#include<string.h>int main()int m,n,i,j;char a2020,b2020;scanf("%d %d",&n,&m);getchar();for(i=0;i<n;i+)gets(ai);for(i=0;i

36、<n;i+) for(j=0;j<m;j+) bji=aij; for(i=0;i<m;i+)for(j=n-1;j>=0;j-)printf("%c",bij); printf("n");return 0;2809#include<stdio.h> #include<math.h> int show(int a)int i; for(i=2;i<=sqrt(a);i+) if(a%i=0) return 0;return 1;int main()int m,i;while(scanf("%

37、d",&m)!=EOF&&(m|m) for(i=2;i<m;i+) if(show(i)&&show(m-i) printf("%d = %d + %dn",m,i,m-i); break;return 0;2109#include<stdio.h> #include<algorithm> using namespace std;long a1000004;int main()int n,i;scanf("%d",&n);for(i=0;i<n;i+)scan

38、f("%ld",&ai);sort(a,a+n); reverse(a,a+n);for(i=0;i<n;i+)if(i<n-1)printf("%ld ",ai);if(i=n-1) printf("%ldn",ai);return 0;2765#include<stdio.h>int main()int n,i;long a21;while(scanf("%d",&n)!=EOF)a1=0;a2=1;for(i=3;i<=n;i+)ai=(n-1)*(ai-1+ai

39、-2); printf("%ldn",an);return 0;2521#include<stdio.h>int main()int n, i, j, max, c, x;long long a1000;while(scanf("%d", &n)!=EOF)max = -1;c = 0;for(i = 0; i < n; i+)scanf("%d", &ai);for(i = 0; i < n; i+)x = 0;for(j = i + 1; j < n; j+)if(ai = aj)x+

40、;if(max < x)max = x;c = i;else if(max = x)if(ac > ai)c = i;else max = max;printf("%lld %dn", ac, max+1);return 0;2801#include<stdio.h>int main()int n,m,i,c,t,j;while(scanf("%d %d",&n,&m)!=EOF) int a10000,b10000;int g100000=0;c=0;for(i=0;i<m;i+)scanf("%

41、d %d",&ai,&bi);if(ai>bi) t=ai;ai=bi;bi=t;for(i=0;i<m-1;i+)for(j=i+1;j<m;j+)if(ai>aj)t=ai;ai=aj;aj=t; t=bi;bi=bj;bj=t;if(a0!=0)printf("0n");elsegb0=1;for(i=0;i<m;i+)if(gai=1)gbi=1;else if(gbi=1) gai=1;for(i=1;i<n;i+)if(gi=1)c+; printf("%dn",c);return

42、 0;2747#include<stdio.h> #include<string.h> char a81,c81;int main()int j,m,i,h,n,v;while(scanf("%s",a)!=EOF) getchar();m=-1;n=strlen(a); for(i=0;i<n;i+)v=0;if(n%(i+1)=0)h=0;for(j=0;j<n;j+)cj=ah;if(h=i)h=0;else h+; cn='0' if(strcmp(a,c)=0) v=i;break; for(i=0;i<=

43、v;i+) printf("%c",ai); printf("n");return 0;2398#include<stdio.h> #include<string.h>struct nodeint q;char p1000; a10000,b10000,c10000; int main()struct node d;int n,m,x,j,i,o;int k,n2;while(scanf("%d",&n)!=EOF)int n110000;for(o=0;o<n;o+)scanf("%d

44、 %d",&m,&x);for(i=0;i<m;i+)scanf("%s %d",ai.p,&ai.q);for(j=m;j<x+m;j+)aj.q=0;scanf("%s %d",aj.p,&n1j); for(k=0;k<n1j;k+) scanf("%s",ck.p);for(i=0;i<m+x;i+)if(strcmp(ck.p,ai.p)=0)aj.q=aj.q+ai.q;scanf("%d",&n2);for(i=0;i<n

45、2;i+)scanf("%s",bi.p);for(i=0;i<n2;i+)for(j=0;j<m+x;j+)if(strcmp(bi.p,aj.p)=0)bi.q=aj.q;for(i=0;i<n2-1;i+) for(j=i+1;j<n2;j+) if(bi.q>bj.q)d=bi;bi=bj;bj=d;for(i=0;i<n2;i+)printf("%sn",bi.p);printf("n");printf("n");return 0;1227#include<std

46、io.h>int main()int n,m,j,i,k,c;int a100001,b100001;scanf("%d %d",&n,&m);for(i=0;i<n;i+)scanf("%d",&ai); for(j=0;j<m;j+)scanf("%d",&bj); c=0;k=-1; for(i=0;i<n;i+) for(j=0;j<m;j+)if(ai=bj&&k<j)k=j; c+; break;printf("%dn"

47、,c);return 0;2046#include<stdio.h>#include<string.h>#include<algorithm> using namespace std;int main()char a202,b202;int c202=0;int n,m,k,i; scanf("%s %s",a,b); getchar();n=strlen(a);m=strlen(b); reverse(a,a+n);reverse(b,b+m);if(n>m)k=n;for(i=0;i<m;i+)if(ci+ai+bi-96

48、<10) ci=(ai+bi-96+ci);else if(ci+ai+bi-96>=10) ci=(ai+bi-96+ci)%10; ci+1=1;if(cm=0)for(i=m;i<n;i+)ci=ai-48;if(cm=1)for(i=m;i<n;i+)if(ci+ai-48>=10)ci=(ai+ci-48)%10; ci+1=1;ci=ai-48+ci;elseelse if(n<m)k=m;for(i=0;i<n;i+)if(ci+ai+bi-96<10) ci=(ai+bi-96+ci);else if(ci+ai+bi-96>=10) ci=(ai+bi-96+ci)%10; ci+1=1;if(cn=0)for(i=n;i<m;i+)ci=bi-48;else if(cn=1)for(i=n;i<m;i+)if(ci+bi-48>=10) ci=(bi+ci-48)%10; ci+1=1;else ci=bi-48+ci;else if(n=m)k=n;for(i=0;i<m;i+)if(ci+ai+bi-96<10) ci=(ai+bi-96+ci);else if(ci+ai+bi-96>=10) ci=(ai+bi-96+ci)%10; ci+1=1;if(ck=0)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1