26 条题解
-
0
#include<bits/stdc++.h> using namespace std; long long x,n,k,a[2010],b[2010],c[2010]; int main() { cin>>x>>n; for(int j=1;j<=n;j++) { a[j]=x; for(int i=1;i<=2001;i++) { c[i]=a[i]+c[i]+k; k=c[i]/10; c[i]%=10; } } n++; while(c[n]==0&&n>1) n--; for(int i=n;i>=1;i--) cout<<c[i]; return 0; } -
0
#include<bits/stdc++.h> using namespace std; int t,k,l,r,mid,ans,s; int f(int t) { int s=5,ans=0; while(t>=s) { ans+=t/s; s*=5; } return ans; } int main() { cin>>t; for(int i=1;i<=t;i++) { cin>>k; l=1,r=5*k; ans=0; while(l<=r) { mid=(l+r)/2; s=f(mid); if(s==k) { ans=mid/5*5; break; } else if(s>k) r=mid-1; else l=mid+1; } if(ans==0) cout<<"impossible"<<endl; else cout<<ans<<endl; } return 0; } -
0
#include<bits/stdc++.h> using namespace std; long long n,m,a[100010],b[100010],mid,l,r; int main() { cin>>n>>m; for(int i=1;i<=n;i++) cin>>a[i]; for(int i=1;i<=m;i++) cin>>b[i]; sort(a+1,a+n+1); sort(b+1,b+1+m); for(int i=1;i<=m;i++) { bool p=0; l=1; r=n; while(l<=r) { mid=(l+r)/2; if(b[i]==a[mid]) { p=1; break; } else if(a[mid]<b[i]) l=mid+1; else r=mid-1; } if(p) cout<<b[i]<<' '; } return 0; } -
0
#include <bits/stdc++.h> using namespace std; int v,m,n,maxn=-91789178,c[10100],f[10100],a[10100],b[10100]; int main() { cin>>v>>n>>m; for(int i=1;i<=n;i++) cin>>c[i]>>f[i]; for(int i=1;i<=n;i++) { for(int j=1;j<=m;j++) { if(j<f[i]) b[j]=a[j]; else b[j]=max(a[j],c[i]+a[j-f[i]]); if(b[j]>=v) maxn=max(maxn,m-j); } for(int j=1;j<=m;j++) a[j]=b[j]; } if(maxn==-91789178) cout<<"Impossible"; else cout<<maxn; return 0; } -
0
#include<bits/stdc++.h> using namespace std; int n,a[10000],f[10000],maxx; int main() { cin>>n; for(int i=1;i<=n;i++) cin>>a[i]; for(int i=1;i<=n;i++) { int maxn=0; for(int j=1;j<=i-1;j++) if(a[i]>a[j]) maxn=max(f[j],maxn); f[i]=maxn+1; maxx=max(maxx,f[i]); } cout<<maxx; return 0; } -
0
#include<bits/stdc++.h> using namespace std; long long n,m,f[278][19178],a[178]; int main() { cin>>n>>m; for(int i=1;i<=n;i++) cin>>a[i]; for(int i=0;i<=n;i++) f[i][0]=1; for(int i=1;i<=n;i++) for(int j=1;j<=m;j++) { if(a[i]>j) f[i][j]=f[i-1][j]; else f[i][j]=f[i-1][j]+f[i-1][j-a[i]]; } cout<<f[n][m]; return 0; }
-
0
#include<bits/stdc++.h> using namespace std; int fx[5]={0,-1,1,0,0},fy[5]={0,0,0,-1,1},n,m,ans=INT_MAX,x,y,p,f[1100][200]; char a[1100][200]; void sy(int x,int y,int s) { if (a[x][y]=='*') { p=1; ans=min(ans,s); return; } for (int i=1;i<=4;i++) { int tx=x+fx[i],ty=y+fy[i]; if (tx<=n&&tx>=1&&ty>=1&&ty<=m&&a[tx][ty]!='#') if (s+1<f[tx][ty]) { f[tx][ty]=s+1; sy(tx,ty,s+1); } } } int main() { cin>>n>>m; for (int i=1;i<=n;i++) for (int j=1;j<=m;j++) { cin>>a[i][j]; if (a[i][j]=='@') x=i,y=j; f[i][j]=INT_MAX; } sy(x,y,0); if (p==1) cout<<ans; else cout<<"-1"; } -
0
#include<bits/stdc++.h> using namespace std; int fx[5]={0,-1,1,0,0},fy[5]={0,0,0,-1,1},h,w,s,maxs=INT_MIN; char a[120][120]; bool f[120][120]; void sy(int x,int y) { for (int i=1;i<=4;i++) if (x+fx[i]>=1&&y+fy[i]>=1&&x+fx[i]<=w&&y+fy[i]<=h&&a[x+fx[i]][y+fy[i]]=='.'&&f[x+fx[i]][y+fy[i]]==0) { f[x+fx[i]][y+fy[i]]=1; s++; sy(x+fx[i],y+fy[i]); } } int main() { cin>>h>>w; for (int i=1;i<=w;i++) for (int j=1;j<=h;j++) cin>>a[i][j]; for (int i=1;i<=w;i++) for (int j=1;j<=h;j++) if (a[i][j]=='@') sy(i,j); cout<<s+1; } -
0
#include<bits/stdc++.h> using namespace std; long long s[20][2],ans=0,n; bool p[20]={false}; void dfs(int k) { if(k>n) { ans++; return ; } int a=s[k][0]; int b=s[k][1]; if(!p[a]) { p[a]=true; dfs(k+1); p[a]=false; } if(!p[b]) { p[b]=true; dfs(k+1); p[b]=false; } } int main() { cin>>n; for(int i=1;i<=n;i++) cin>>s[i][0]>>s[i][1]; dfs(1); cout<<ans; return 0; } -
0
#include <bits/stdc++.h> using namespace std; int n,m,k,x,y,s,a[105][105]; int main() { cin>>n>>m>>k; for(int i=1;i<=m;i++) { cin>>x>>y; for(int j=max(y-2,1);j<=y+2;j++) a[x][j]=1; for(int z=max(x-2,1);z<=x+2;z++) a[z][y]=1; a[x-1][y-1]=1,a[x-1][y+1]=1,a[x+1][y+1]=1,a[x+1][y-1]=1; } for(int i=1;i<=k;i++) { cin>>x>>y; for(int j=max(x-2,1);j<=x+2;j++) for(int z=max(y-2,1);z<=y+2;z++) a[j][z]=1;; } for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) if(a[i][j]==0) s++; cout<<s; return 0; } -
0
#include<bits/stdc++.h> using namespace std; long long n,a[200],x,ans=0,sum=0,s; bool f(int num,int x) { if(num==0&&x==0) return true; while(num>0){ s=num%10; if(s==x) return true; num=num/10; } return false; } int main() { cin>>n; for(int i=1;i<=n;i++) cin>>a[i]; cin>>x; for(int i=1;i<=n;i++) { if(f(a[i],x)) { ans++; sum+=a[i]; } } cout<<ans<<" "<<sum; } -
0
#include <bits/stdc++.h> using namespace std; int n,k; char f[1000]; void sy(int x,int y, int t) { if(y==n+1) { if(t+x==0) { cout<<"1"; for(int i=2;i<=n;i++) cout<<f[i]<<i; cout<<endl; } return ; } f[y]=' '; if(x>0) sy(x*10+y,y+1,t); else sy(x*10-y,y+1,t); f[y]='+'; sy(y,y+1,t+x); f[y]='-'; sy(-y,y+1,t+x); } int main() { cin>>n; sy(1,2,0); return 0; }
信息
- ID
- 103
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 6
- 标签
- 递交数
- 47
- 已通过
- 15
- 上传者