| #include <stdio.h> |
| int main(void) { |
| double r,h; |
| scanf("%lf%lf",&r,&h); |
| printf("Area = %.3lf\n",3.14159*r*(r+h)*2); |
| return 0; |
| } |
| #include <stdio.h> |
| #include <math.h> |
| |
| int main(void) { |
| int n;scanf("%d",&n); |
| double a,b,c=100.0; |
| for(int i=1;i<=n;++i) |
| { |
| scanf("%lf%lf",&a,&b); |
| double tmp=sqrt(a*a+b*b); |
| if(c>tmp) c=tmp; |
| } |
| printf("%.2lf",c); |
| return 0; |
| } |
| #include <stdio.h> |
| |
| |
| |
| int main(void) { |
| int a,b,f[20000],n;scanf("%d%d%d%d%d",&a,&b,&f[0],&f[1],&n); |
| for(int i=2;i<=n;++i) |
| f[i]=a*f[i-1]+b*f[i-2]; |
| printf("%d\n",f[n]); |
| return 0; |
| } |
| #include <stdio.h> |
| int main(void) { |
| int n;scanf("%d\n",&n);int n1=n,l=1; |
| while(n1) {l*=10;n1/=10;} |
| if(n*n%l==n) printf("yes\n"); |
| else printf("no\n"); |
| return 0; |
| } |
| #include <stdio.h> |
| |
| int a[2000],b[2000]; |
| |
| int main(void) { |
| int n,m,ans=0;scanf("%d%d",&m,&n); |
| for(int i=1;i<=n;++i) scanf("%d%d",&a[i],&b[i]); |
| for(int i=1;i<n;++i) |
| for(int j=i+1;j<=n;++j) |
| if(a[i]>a[j]) |
| { |
| int tmp=b[i];b[i]=b[j];b[j]=tmp; |
| tmp=a[i];a[i]=a[j];a[j]=tmp; |
| } |
| for(int i=1;i<=n;++i) |
| { |
| if(b[i]<m) |
| ans+=a[i]*b[i],m-=b[i]; |
| else |
| { |
| ans+=m*a[i]; |
| break; |
| } |
| } |
| printf("%d\n",ans); |
| return 0; |
| } |
| #include <stdio.h> |
| |
| void swap(char *x,char *y) |
| { |
| int tmp=*x;*x=*y;*y=tmp; |
| } |
| |
| int main(void) { |
| char a[30],b[30];gets(a);gets(b); |
| for(int i=0;i<strlen(a);++i) |
| for(int j=i+1;j<strlen(a);++j) |
| if(a[i]>a[j]) |
| swap(&a[i],&a[j]); |
| for(int i=0;i<strlen(b);++i) |
| for(int j=i+1;j<strlen(b);++j) |
| if(b[i]>b[j]) |
| swap(&b[i],&b[j]); |
| for(int i=0;i<strlen(b);++i) |
| if(a[i]!=b[i]) |
| { |
| printf("%c\n",b[i]); |
| break; |
| } |
| return 0; |
| } |
跟之前的相似的名字那题一样,排序然后比较
| #include <stdio.h> |
| #include <string.h> |
| #include <math.h> |
| char c[2000]; |
| int cnt,m='a'-'A'; |
| |
| void print(char x) |
| { |
| if(x<='Z') x+=m; |
| printf("(%c,%d)",x,cnt+1);cnt=0; |
| } |
| |
| int main(void) { |
| gets(c);int l=strlen(c); |
| for(int i=0;i<l;++i) |
| { |
| if(abs(c[i]-c[i+1])%m!=0) |
| print(c[i]); |
| else ++cnt; |
| } |
| return 0; |
| } |
| #include <stdio.h> |
| |
| int f(int x) |
| { |
| int b=x%2; |
| while(x) |
| { |
| if(x%2!=b) |
| return 0; |
| x/=10;b=!b; |
| } |
| if(b) return 0; |
| return 1; |
| } |
| |
| int main(void) { |
| int t;scanf("%d",&t); |
| while(t--){ |
| int l,r,cnt=0;scanf("%d%d",&l,&r); |
| for(int i=l;i<=r;++i) |
| if(f(i)) |
| ++cnt; |
| printf("%d\n",cnt); |
| } |
| return 0; |
| } |
| |
| |
| |
| int kh[20000],kcxf[1000000]; |
| int xks[20000],xh[20000],xf[20000]; |
| double jd[20000],a; |
| int xkh[2000],fs[2000]; |
| int main(void) { |
| int n,b; |
| scanf("%d",&n); |
| for(int i=0 |
| scanf("%d",&kh[i]); |
| scanf("%d",&kcxf[kh[i]]); |
| } |
| int m; |
| scanf("%d",&m); |
| for(int i=0 |
| scanf("%d%d",&xks[i],&xh[i]); |
| xf[i]=0; |
| jd[i]=0; |
| for(int j=0;j<xks[i];j++){ |
| scanf("%d%d",&xkh[j],&fs[j]); |
| xf[i]+=kcxf[xkh[j]]; |
| if(fs[j]>=60){ |
| jd[i]+=(4.0-3.0*pow((10.0-fs[j]*1.0/10.0),2.5)/32.0)*kcxf[kh[i]]; |
| } |
| } |
| jd[i]/=1.0*xf[i]; |
| } |
| |
| for(int i=0 |
| for(int j=0;j<m-i-1;j++){ |
| if(jd[j]<jd[j+1]){ |
| a=jd[j]; |
| jd[j]=jd[j+1]; |
| jd[j+1]=a; |
| b=xh[j]; |
| xh[j]=xh[j+1]; |
| xh[j+1]=b; |
| } |
| if(jd[j]==jd[j+1]){ |
| if(xh[j]>xh[j+1]){ |
| b=xh[j]; |
| xh[j]=xh[j+1]; |
| xh[j+1]=b; |
| } |
| } |
| } |
| } |
| printf("%d",xh[0]); |
| for(int i=1 |
| if(jd[i]==jd[0]){ |
| printf(" %d",xh[i]); |
| } |
| } |
| return 0; |
| } |
| #include <stdio.h> |
| |
| int a[200][200],b[200][200]; |
| int fx[8]={1,1,1,-1,-1,-1,0,0}; |
| int fy[8]={0,1,-1,-1,1,0,1,-1}; |
| int f1(int x,int y) |
| { |
| int ret=0; |
| for(int i=0;i<8;++i) |
| { |
| int now=a[x+fx[i]][y+fy[i]]; |
| if(now>1) continue; |
| ret+=now; |
| } |
| return ret; |
| } |
| |
| int main(void) { |
| int n,m;scanf("%d%d",&n,&m);b[0][0]=b[n+1][0]=b[0][n+1]=b[n+1][n+1]=2; |
| for(int i=1;i<=n;++i,a[n+1][i]=a[0][i]=a[i][n+1]=a[i][0]=2) |
| for(int j=1;j<=m;++j) |
| scanf("%d",&a[i][j]); |
| for(int i=1;i<=n;++i) |
| for(int j=1;j<=m;++j) |
| { |
| b[i][j]=a[i][j]; |
| if(a[i][j]&&f1(i,j)<2) b[i][j]=0; |
| else if(a[i][j]&&f1(i,j)<=3) b[i][j]=1; |
| else if(a[i][j]) b[i][j]=0; |
| else if(f1(i,j)==3) b[i][j]=1; |
| } |
| for(int i=1;i<=n;++i) |
| for(int j=1;j<=m;++j) |
| if(j==m) printf("%d\n",b[i][j]); |
| else printf("%d ",b[i][j]); |
| return 0; |
| } |
模拟,注意一下细节,可以用函数来实现重复的功能
| #include <stdio.h> |
| |
| int a[400],b[400],cnt; |
| int n,p,pd; |
| |
| void print() |
| { |
| for(int i=1;i<cnt;++i) printf("%d ",b[i]); |
| printf("%d\n",b[cnt]); |
| pd=1; |
| } |
| |
| void f(int p,int x) |
| { |
| if(a[x]>p) return; |
| p-=a[x];b[++cnt]=a[x]; |
| if(p==0) {print();--cnt;return;} |
| for(int i=x;i<=n;++i) |
| { |
| f(p,i); |
| } |
| --cnt; |
| } |
| |
| int main(void) { |
| scanf("%d%d",&n,&p); |
| for(int i=1;i<=n;++i) |
| scanf("%d",&a[i]); |
| for(int i=1;i<=n;++i) f(p,i); |
| if(pd==0) printf("NO\n"); |
| return 0; |
| } |
使用递归,每次决定当前的要不要(再)买一件,不能用,跟2017年最佳凑单的方法一差不多
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】