祝大家国庆节快乐地写作业
不得不承认,现在在看这篇随笔的dalao们,您太巨了!!!
不得不承认,这些题我都做了好几遍了。。。
不得不承认,我今天RP太好。。。
不得不承认,我得了300分。。。
1.ISDBN号码
#include<algorithm> #include<iostream> #include<cstring> #include<cstdio> using namespace std; char xyds[13]; int ctoi(char a){//char to int if(a=='X') return 10; else return a-'0'; } char itoc(int b){//int to char if(b==10) return 'X'; else return b+'0'; } int main() { //freopen("isbn.in","r",stdin); //freopen("isbn.out","w",stdout); int s=0,sum=0,ans=0; while(1){ char ch; ch=getchar(); if(ch==' ') break; xyds[sum]=ch; sum++; if(ch>='0'&&ch<='9'&&sum<=11) s++,ans+=ctoi(ch)*s;//计算前9位数字 } if(ans%11==ctoi(xyds[12])) printf("Right");//末位正确,输出Right else{ for(int i=0;i<=11;i++) cout<<xyds[i];//末位错误,则输出正确结果 cout<<itoc(ans%11); } return 0; }
2.排座椅
#include<algorithm> #include<iostream> #include<cstdio> using namespace std; int a[1001],b[1001],x[1001],y[1001]; int main() { //freopen("seat.in","r",stdin); //freopen("seat.out","w",stdout); int m,n,k,l,d; scanf("%d%d%d%d%d",&m,&n,&k,&l,&d); for(int i=1;i<n;i++) x[i]=i; for(int i=1;i<m;i++) y[i]=i; for(int i=1;i<=d;i++){ int x1,y1,x2,y2; scanf("%d%d%d%d",&x1,&y1,&x2,&y2); if(x1==x2) a[min(y1,y2)]++;//统计交头接耳学生对数 else b[min(x1,x2)]++; } for(int i=1;i<m-1;i++){//排序,取出前k组 for(int j=i+1;j<m;j++){ if(b[i]<b[j]){ swap(b[i],b[j]); swap(y[i],y[j]); } } } sort(y,y+k+1);//对前k组对应的行数再次进行排序,保证有序输出 bool xyds=0; for(int i=1;i<=k;i++){//输出 if(!xyds){//OJ输出格式错误有毒。。。 printf("%d",y[i]); xyds=1; } else printf(" %d",y[i]); } printf(" "); for(int i=1;i<n-1;i++){//同上 for(int j=i+1;j<n;j++){ if(a[i]<a[j]){ swap(a[i],a[j]); swap(x[i],x[j]); } } } sort(x,x+l+1); bool djy=0; for(int i=1;i<=l;i++){ if(!djy){ printf("%d",x[i]); djy=1; } else printf(" %d",x[i]); } return 0; }
3.传球游戏
#include<algorithm> #include<cstdio> int dp[31][31];//DP大法好 int n,m; int f(int x) { if(x==0) return n; else if(x==n+1) return 1; else return x; } int main() { //freopen("ball.in","r",stdin); //freopen("ball.out","w",stdout); dp[0][1]=1;//初始化 scanf("%d%d",&n,&m); for(int i=1;i<=m;i++){ for(int j=1;j<=n;j++) dp[i][j]=dp[i-1][f(j-1)]+dp[i-1][f(j+1)];//每个同学可以把球传给自己左右的两个同学中的一个,不解释 } printf("%d",dp[m][1]);//回到了小蛮手里 return 0; }
4.立体图(警告:本题主要考察大家的艺术功底,以下代码无法AC,并非正解,仅供娱乐)
#include<algorithm> #include<cstdio> int main() { //freopen("drawing.in","r",stdin); //freopen("drawing.out","w",stdout); printf("......+---+---+...+---+ "); printf("..+---+ / /|../ /| "); printf("./ /|-+---+ |.+---+ | "); printf("+---+ |/ /| +-| | + "); printf("| | +---+ |/+---+ |/| "); printf("| |/ /| +/ /|-+ | "); printf("+---+---+ |/+---+ |/| + "); printf("| | | +-| | + |/. "); printf("| | |/ | |/| +.. "); printf("+---+---+---+---+ |/... "); printf("| | | | | +.... "); printf("| | | | |/..... "); printf("+---+---+---+---+......"); return 0; }