第十五届题目
握手问题#include stdio.h #include stdlib.h int main(int argc, char *argv[]) { int sum0; for(int i49;i7;i--) { sumi; } printf(%d,sum); return 0; }小球反弹#include stdio.h #include math.h int main(int argc, char *argv[]) { long long t1,x343720,y233333; while(1) { if((15*t)%x0(17*t)%y0) break; t; } printf(%.2f,2*sqrt(15*15*t*t17*17*t*t)); return 0; }好数#include stdio.h #include stdlib.h int main(int argc, char *argv[]) { int n; scanf(%d,n); int cnt0; for(int i1;in;i) { int a[10000005]; int idx1; int ti; while(t) { a[idx]t%10; t/10; } int flag1; for(int j1;jidx;j) { if(j%21) { if(a[j]%20) { flag0; break; } } else { if(a[j]%21) { flag0; break; } } } if(flag) cnt; } printf(%d,cnt); return 0; }R 格式#include stdio.h #include math.h #include string.h #define MAX 2000 int main(int argc, char *argv[]) { int n; char d[1025]; int b[MAX]{0}; int b_len0; int sum0,k0; int i; scanf(%d %s,n,d); for(int istrlen(d)-1;i0;i--) { if(d[i]!.) { if(b_lenMAX) { b[b_len]d[i]-0; b_len; } } else ksum; sum; } for(int i0;in;i) { int carry0; for(int j0;jb_len;j) { b[j]b[j]*2carry; if(b[j]10) { carryb[j]/10; b[j]b[j]%10; } else carry0; } if(carry) { if(b_lenMAX) { b[b_len]carry; b_len; } } } if(k0b[k-1]5) { int carry1; for(ik;ib_len;i) { b[i]b[i]1; if(b[i]9) { carry0; break; } else b[i]-10; } if(carry) { if(b_lenMAX) { b[b_len]1; b_len; } } } for(ib_len-1;ik;i--) { printf(%d,b[i]); } return 0; }宝石组合#include stdio.h #include string.h #define N 500010 int gem[N]; int num[N]; int main(int argc, char *argv[]) { int n; scanf(%d,n); int max-0x3f3f3f3f; for(int i0;in;i) { scanf(%d,gem[i]); num[gem[i]]; if(gem[i]max) maxgem[i]; } for(int imax;i1;i--) { int tmp[3]; int pos0; int cnt0; for(int ji;jmax;ji) { if(num[j]) { cntnum[j]; for(int k0;knum[j]pos3;k) { tmp[pos]j; } } if(cnt3) break; } if(cnt3) { for(int j0;j3;j) { printf(%d ,tmp[j]); } printf(\n); break; } } return 0; }数字接龙#include stdio.h #include stdlib.h #include string.h int n,k; int g[11][11]; int dx[8]{-1,-1,0,1,1,1,0,-1}; int dy[8]{0,1,1,1,0,-1,-1,-1}; char path[121]; int path_len0; int st[11][11]; int edge[11][11][11][11]; int dfs(int a,int b) { if(an-1bn-1) { return path_lenn*n-1; } st[a][b]1; for(int i0;i8;i) { int xadx[i],ybdy[i]; if(x0||xn||y0||yn) continue; if(st[x][y]) continue; if(g[x][y]!(g[a][b]1)%k) continue; if(i%2(edge[a][y][x][b]||edge[x][b][a][y])) continue; edge[a][b][x][y]1; path[path_len]i0; if(dfs(x,y)) return 1; path_len--; edge[a][b][x][y]0; } st[a][b]0; return 0; } int main(int argc, char *argv[]) { scanf(%d %d,n,k); for(int i0;in;i) { for(int j0;jn;j) { scanf(%d,g[i][j]); } } memset(st,0,sizeof(st)); memset(edge,0,sizeof(edge)); path_len0; if(!dfs(0,0)) printf(-1\n); else { path[path_len]\0; printf(%s\n,path); } return 0; }拔河#include stdio.h #include stdlib.h #include math.h #define N 1004 typedef long long ll; ll min(ll a,ll b) { return ab?a:b; } ll abs_ll(ll x) { return x0?-x:x; } int main() { int n; scanf(%d,n); ll a[N]; for(int i1;in;i) { scanf(%lld,a[i]); } ll ans1e14; for(int l1;ln;l) { for(int rn;rl;r--) { int il,jr; ll sum1a[i],sum2a[j]; ansmin(ans,abs_ll(sum1-sum2)); if(ans0) { printf(0); return 0; } while(i1j) { if(sum1sum2) { printf(0); return 0; } if(sum1sum2) { j--; sum2a[j]; } else if(sum1sum2) { i; sum1a[i]; } ansmin(ans,abs_ll(sum1-sum2)); } } } printf(%lld,ans); return 0; }
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2497733.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!