青少年软件编程(C语言)等级考试试卷(五级)
分数:100 题数:4
一、编程题(共4题,共100分)
1. | 漫漫回国路 |
试题编号:-020 | |
试题类型:编程题 | |
标准答案: | |
试题难度:一般 | |
试题解析: #include <bits/stdc++.h> using namespace std; int a[12][12]; int n,b[12]; int main() { int i,j,k,l; scanf("%d",&k); for(l=0;l<k;l++) { scanf("%d",&n); for(i=1;i<=n;i++) for(j=1;j<=n;j++) scanf("%d",&a[i][j]); for(i=1;i<=n;i++) b[i]=0; b[1]=1; for(i=1;i<=n;i++) if(b[i]==1) { for(j=1;j<=n;j++) { if(a[i][j]>0) b[j]=1; } } if(b[n]==1) printf("YES\n"); else printf("NO\n"); } return 0; } | |
2. | 装箱问题 |
试题编号:-021 | |
试题类型:编程题 | |
标准答案: | |
试题难度:一般 | |
试题解析: #include<cstdio> #include<cstring> using namespace std; int a[7]; int main() { int x,xx,i,ans; while(1) { for(i=1;i<=6;i++) { scanf("%d",&a[i]); } if(a[1]==0 &&a[2]==0 &&a[3]==0 &&a[4]==0 &&a[5]==0 &&a[6]==0) break; ans=0; ans=a[6]; ans=ans+a[5]; xx=a[5]*11; if(xx<=a[1]) a[1]=a[1]-xx; else a[1]=0; ans=ans+a[4]; x=a[4]*5; if( x<=a[2]) { a[2]=a[2]-x; } else { xx=4*(x -a[2]); if( xx<=a[1]) a[1]=a[1]-xx; else a[1]=0; a[2]=0; } ans= ans+ a[3]/4; a[3]=a[3]%4; if( a[3]>0) { if( a[3]==3) { ans++; if(a[2]>=1) { a[2]--; xx=5; if( xx<=a[1]) a[1]=a[1]-xx; else a[1]=0; } else { xx=9; if( xx<=a[1]) a[1]=a[1]-xx; else a[1]=0; } } else if(a[3]==2) { ans++; if( a[2]>=3) { a[2]-=3; xx=6; if( xx<=a[1]) a[1]=a[1]-xx; else a[1]=0; } else { xx=6+ (3-a[2])*4; a[2]=0; if( xx<=a[1]) a[1]=a[1]-xx; else a[1]=0; } } else if(a[3]==1) { ans++; if( a[2]>=5) { a[2]-=5; xx=7; if( xx<=a[1]) a[1]=a[1]-xx; else a[1]=0; } else { xx=7+(5-a[2])*4; a[2]=0; if( xx<=a[1]) a[1]=a[1]-xx; else a[1]=0; } } } ans=ans+ a[2]/9; a[2]=a[2]%9; if( a[2]>0) { ans++; xx= 36-a[2]*4; a[2]=0; if( xx<=a[1]) a[1]=a[1]-xx; else a[1]=0; } ans= ans+ a[1]/36; a[1]=a[1]%36; if(a[1]>0) { ans++; a[1]=0; } printf("%d\n",ans); } return 0; } | |
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论