杭电acm1405-2200
更新时间:2024-06-22 05:48:01 阅读量: 综合文库 文档下载
1405:
#include
#define MAXLEN 65536 using namespace std; int main(){
int n,ni,a[MAXLEN],hash[MAXLEN],k,ki,i,cas=0; while(scanf(\ cas++;//记录实例数量
if(cas>1)//第一次不输出回车 putchar('\\n');
printf(\
k=0;
memset(a,0,sizeof(a));
memset(hash,0,sizeof(hash));
while(n!=1){//如果n!=1表示还未把所有的因子取出 for(ni=2;ni<=n&&n%ni!=0;ni++) ; a[k++]=ni; n/=ni; }
for(ki=0;ki for(i=2;i k-=hash[i];//减少相应的数量hash[i] printf(\ } putchar('\\n'); } return 0; } 1406: #include int i, sum, T, j, count, num1, num2, temp; memset(a, 0, sizeof(a)); for(i=2;i<=10000;i++) { sum = 0; for(j=1;j<=i/2;j++) { if(i%j==0) sum+=j; } if(sum==i) a[i]=1; } scanf(\ while(T--) { count=0; scanf(\ if(num1>num2) { temp=num1; num1=num2; num2=temp; } for(i=num1;i<=num2;i++) { if(a[i]==1) count++; } printf(\ } return 0; } 1407:穷举 #include long x,y,z,num; int i,j,k; while(scanf(\ { for(i=1;i<=sqrt(num);i++) { for(j=i;j<=sqrt(num);j++) { for(k=j;k<=sqrt(num);k++) { if(i*i+j*j+k*k==num) { printf(\ goto end; } } } } end:; } } 1408: #include double d,vul; int k,t; while(scanf(\ { k=1;t=0; while(vul-k*d>eps) {//滴完为止 t+=k+1; vul-=k*d; k++; } if(vul-int(vul/d)*d return 0; } 1412: #include int cmp(const void *a,const void *b) { return *(int *)a-*(int *)b; } int main() { int num1,num2,a[N],b[N],i,k,j,c[20000]; while(scanf(\ { for(i=0;i qsort(a,num1,sizeof(a[0]),cmp); qsort(b,num2,sizeof(b[0]),cmp); i=0,j=0,k=0; for(;i if(a[i] c[k]=a[i++]; else if(a[i]>b[j]) c[k]=b[j++]; else { i++; k--; } } if(i while(i c[k++]=a[i++]; if(j while(j c[k++]=b[j++]; for(i=0;i return 0; } 1418: #include {//采用欧拉定理f+v-e=2 unsigned int n,m;//n是点,m是面,求的是边 while(scanf(\ { printf(\ } return 0; } 1420: #include __int64 a, i, b, c, sets, temp ; scanf(\ while( sets-- ) { scanf(\ temp=a; for(i=1;i a*=temp; a%=c; } a%=c; if(c==1) { printf(\ continue; } printf(\ } return 0; } 1465: #include { a[num][s1[j]-97]++; } len=strlen(s2); num++; for(j=0;j a[num][s2[j]-97]++; } for(p=2;p<=k;p++) { for(j=0;j<26;j++) { a[p][j]=a[p-1][j]+a[p-2][j]; } } for(j=0;j<26;j++) printf(\ printf(\ } return 0; } 1718: #include int a[100]; //下标为分数,值为标记; void main() { int no,n,s,i,cnt,key; while (scanf(\ { for (i=0;i<=100;i++) { a[i]=0; //恢复状态; } while (scanf(\ { if(n==0&&s==0) break; if (n == no) //当学号相等时标记-1,否则标记为1; { key=s; a[s]++; } else a[s]++; } cnt=0; for (i=100;i>=0;i--) { if (a[i]!=0) //从100往下找; { cnt+=a[i]; if (i==key) //找到,退出; { break; } } } printf(\ } } 1720: #include int x,y; while(scanf(\ { printf(\ } return 0; } 1799: #include int i,j,t,m,n; for(i=0;i<2001;i++) { a[i][0]=a[i][i]=1; for(j=1;j a[i][j]=(a[i-1][j-1]+a[i-1][j])07;// 杨辉三角打表 } scanf(\ while(t--) { scanf(\ printf(\ } } 1859: #include return 0; } 1862: #include stu[100010]; int cmp1(const void *a,const void *b) { struct student *c=(struct student *)a; struct student *d=(struct student *)b; return strcmp(c->num,d->num); } int cmp2(const void *a,const void *b) { struct student *c=(struct student *)a; struct student *d=(struct student *)b; if(strcmp(c->name,d->name)) return strcmp(c->name,d->name); else return strcmp(c->num,d->num); } int cmp3(const void *a,const void *b) { struct student *c=(struct student *)a; struct student *d=(struct student *)b; if(c->score!=d->score) return c->score-d->score; else return strcmp(c->num,d->num); } int main() { int i,m,n,k=1; while(scanf(\ { for(i=0;i 1877: #include #include 1898: #include int a,b,t,n; scanf(\ while(n--) { scanf(\ if(t%a==t%b) printf(\ else { if(t%a printf(\ else printf(\ } } return 0; } 1976: #include int a1,a2,a3,b1,b2,b3,i,n; while(scanf(\ { for(i=0;i { scanf(\ if(a1>b1)printf(\ else if(a1 1977: #include int t; __int64 n; cin>>t; while(t--) { scanf(\ printf(\ } return 1; } 1985: #include \#include \ double change(double dit,int kind) { if(kind==1) return dit*2.2046; else if (kind==2) return dit*0.4536; else if (kind==3) return dit*0.2642; else if (kind==4) return dit*3.7854; } int main() { int n,i; double m; char str[15]; scanf(\ for(i=0;i scanf(\ printf(\ if (strcmp(str,\ printf(\ else if (strcmp(str,\ printf(\ else if (strcmp(str,\ printf(\ else if (strcmp(str,\ printf(\ } return 0; } 2101: #include 2103: ? ? ? ? ? ? ? ? ? #include {long long t,n,m,i,b; long long a[32],ans; //注意用long long cin>>t; while(t--) {cin>>n>>m; ?? for(i=1;i<=m;i++) ?? cin>>a[i]; ?? b=n; ?? for(i=1;i<=m;i++) ?? {if(a[i]==1&&i ?? ans=(int)(pow(2.0,1.0*(m-b))-1); ?? if(ans!=0)cout< ?? return 0; ?? } ?? 思路是这样的,现将b初始化在刚好要超生的边缘, 如果生男孩是在超生范围之内的话,那么交的罚金将从那个那还开始, 反之从边缘的那个数到最后的数刚好那个之和(代码中的n,m与题目的表示恰好调换了) 注意:这道题的测试数据,可以是计划生育的孩子总数就是为0,还有对生很多儿子时,要在读到第一个儿子之后就要开始处罚了,所以b的值就不变了。。。 2106: #include int n,a[201],b[201],i,j,k; __int64 m; while(cin>>n) { m=0; for(i=0;i } { j=a[i]; a[i]=a[i]/10; m+=(j*pow(b[i],k)); k++; } } if(a[i]<10) m+=a[i]; } printf(\} return 0; 2107: #include int n,x,max; while(scanf(\ { max=0; while(n--) { scanf(\ if(max printf(\ } } 2109: #include } scanf(\ for(i=0;i return 0; 2113: #include int n,sum,flag=0; while (scanf(\ { sum=0; while (n) { if (n%2==0) sum+=n; n/=10; } if(flag) printf(\ flag=1; printf(\ } return 0; } 2114: #include long long n; while (scanf(\ { n%=10000; n=n*(n+1)/2; printf(\ } return 0; } 2115: #include char name[80]; int score; }; int namecmp(const void*a, const void*b); int scorecmp(const void*,const void*); int main(void) { struct _stu arr[11]; int m,s,count,t,begin,len,prev,rank,tag=0,counter=1; while(scanf(\ { for(count=0;count scanf(\ arr[count].score=m*100+s; } qsort(arr,t,sizeof(arr[0]),scorecmp); begin=0; len=1; prev=arr[0].score; while(begin+len if(arr[len+begin].score==prev) { len++; } else { qsort(arr+begin,len,sizeof(arr[0]),namecmp); begin=begin+len+1; len=1; if(begin>=t) { break; } prev=arr[begin].score; } } if(len>1) { qsort(arr+begin,len,sizeof(arr[0]),namecmp); } prev=arr[0].score; rank=1; if(tag) printf(\ else tag=1; printf(\ for(count=1;count<=t;count++) { if(arr[count-1].score!=prev) { rank=count; prev=arr[count-1].score; } printf(\ } } } int scorecmp(const void*a,const void*b) { if( (*(struct _stu*)a).score > (*(struct _stu*)b).score) return 1; else return -1; } int namecmp(const void*a, const void*b) { return (strcmp((*(struct _stu*)a).name,(*(struct _stu*)b).name))*(1); } 2123: #include int n,m,i,j; scanf(\ while(n--) { scanf(\ for(i=1;i<=m;i++) { for(j=1;j<=m;j++) { if(j!=1) printf(\ printf(\ } printf(\ } } } 2131: #include void main() { int n; char c,ch[200]={0}; while(cin>>c>>ch) { n=0; c=tolower(c); for(int i=0; i if( c==tolower(ch[i]) ) { n++; } } printf(\ memset(ch,0,200); } } 2132: #include if(i%3==0) sum[i] = sum[i-1] +i*i*i; else sum[i] = sum[i-1] + i; } while(scanf(\ { printf(\ } return 0; } 2133: #include int _Date2Week(int year,int month,int day) { if(month==1||month==2) { year -=1; month +=12; } return (day+1+2*month+3*(month+1)/5+year+(year/4)-year/100+year/400)%7; } int main() { int zun[13]={0,31,29,31,30,31,30,31,31,30,31,30,31}; int izun[13]={0,31,28,31,30,31,30,31,31,30,31,30,31}; int year,month,day; int week; char w[7][10]={\ while(scanf(\ { if(month<1 || month >12 || day<1 || day>31) printf(\ else { if(f(year)==1) { if(month==2 && day>29) printf(\ else if(month!=2 && day>31 &&(month==1 || month==3 || month==5 || month==7 || month==8 || month==10 || month==12)) printf(\ else if(month!=2 && day>30 &&(month==4 || month==6 || month==9 || month==11)) printf(\ else { week=_Date2Week(year,month,day); printf(\ } } else { if(month==2 && day>28) printf(\ else if(month!=2 && day>31 &&(month==1 || month==3 || month==5 || month==7 || month==8 || month==10 || month==12)) printf(\ else if(month!=2 && day>30 &&(month==4 || month==6 || month==9 || month==11)) printf(\ else { week=_Date2Week(year,month,day); printf(\ } } } } return 0; } 2134: #include int main() { } double r1,r2,r,s2,s,temp; double PI=3.14159; scanf(\while(r!=0) { s=PI*r*r; temp=s/3; r2=sqrt(temp/PI); s2=s-PI*r2*r2; r1=sqrt(s2/PI); printf(\ scanf(\} return 0; 2135: #include } } } } if(m==1) { for(i=0;i if(m==2) { for(i=0;i for(i=0;i 2136: #include int t; long n,i,j; a[1]=0; for(i=2; i<=1000000;i++) { a[i]=1; } for(i=2;i<=sqrt(1000000);i++) { if(a[i]!=0) { for(j=i*2;j<=1000000; j=j+i) { if(a[j]!=0&&a[j]%a[i]==0) { a[j]=0; } else NULL; } } } t=1; memset(b,0,sizeof(b)); for(i=2;i<=1000000;i++) { if(a[i]==1) { b[i]=t; t++; } } for(i=2;i<=1000000/2;i++) { if(a[i]==1) { for(j=2*i;j<=1000000;j=j+i) b[j]=b[i]; } } while(scanf(\ { if(n==1) printf(\ else { printf(\ } } return 0; } 2137: #include { n=(n+(x[i]-48))%8; f=0; i++; } } } else n=n%8; if(n==0) { printf(\} if(n==1) { for(i=strlen(c);i>=1;i--) { for(j=i-1;j>=1;j--) printf(\ printf(\ } } if(n==2) { for(i=strlen(c);i>=1;i--) { for(j=strlen(c)/2;j>=1;j--) printf(\ printf(\ } } if(n==3) { for(i=strlen(c);i>=1;i--) { for(j=strlen(c)-i;j>=1;j--) printf(\ printf(\ } } } } if(n==4) { for(i=strlen(c);i>=1;i--) printf(\ printf(\} if(n==5) { for(i=strlen(c);i>=1;i--) { for(j=i-1;j>=1;j--) printf(\ printf(\ } } if(n==6) { for(i=1;i<=strlen(c);i++) { for(j=0;j if(n==7) { for(i=strlen(c);i>=1;i--) { for(j=strlen(c)-i;j>=1;j--) printf(\ printf(\ } } return 0; 2138: #include int isPrimeNum(long num) { if (num<=2) { return num==2; } if (num%2==0) { return 0; } iSqrt=sqrt(num); for(i=3;i<=iSqrt;i+=2) { if (num%i==0) { return 0; } } return 1; } int main() { int i,n,t; long x; while(scanf(\ { t=0; for(i=0;i 2139: #include while(scanf(\ { k=(n+1)/2; sum=(4*k*k*k-k)/3; printf(\ } return 0; } 2143: #include __int64 pass(__int64 a,__int64 b,__int64 c) { if(a==b+c) return 1; else if(c!=0&&a==b%c) return 1; else if(a==b*c) return 1; return 0; } int main(void) { __int64 a,b,c; int flag; while(scanf(\ { flag=0; if(pass(a,b,c)==1) flag++; if(pass(a,c,b)==1) flag++; if(pass(b,a,c)==1) flag++; if(pass(b,c,a)==1) flag++; if(pass(c,a,b)==1) flag++; if(pass(c,b,a)==1) flag++; if(flag!=0) printf(\ else printf(\ } return 0; } 2148: #include int z, n, k, i, r, a[101]; scanf(\ while (z--) { scanf(\ for (i=1; i<=n; i++) scanf(\ r = 0; for (i=1; i<=n; i++) r+=a[i]>a[k]; printf(\ } return 0; } 2153: #include int a,b,i,j,n; while(scanf(\ { if(n==1) { printf(\ 1\\n\ continue; } b=4*(n-1); for(i=1,a=1;i printf(\ %d\ else printf(\ if(a<=9) printf(\ %d\\n\ else printf(\ for(j=0;j if(b<=9) printf(\ %d\ else printf(\ for(i=0;i<3*n-6;i++) printf(\ if(a<=9) printf(\ %d\\n\ else printf(\ } for(i=0;i printf(\ %d\ else printf(\ if(a<=9) printf(\ %d\\n\ else printf(\ } return 0; } 2156: #include #define MAXN 110000 double a[MAXN]; int main() { int n,i,x; double ans,mul; a[1]=1; for(i=2;i a[i]=1/(double)i; } while(scanf(\ { ans=0; mul=1; x=2; for(i=n-1;i>0&&x ans+=i*a[x++]; } ans=ans*2+(double)n; printf(\ } return 0; } 2161: #include memset(prime,true,sizeof(prime)); int i,j; for(i=2;i<=16000;i++) if(prime[i]) for(j=i*2;j<=16000;j+=i) prime[j]=false; prime[1]=prime[2]=false; } int main() { list(); int n,a=1; while(scanf(\ { printf(\ puts(prime[n]?\ } return 0; } 2162: #include { int n,i,a,sum,t=1; while(scanf(\ { if(n<=0)break; sum=0; for(i=0;i scanf(\ sum+=a; } printf(\ t++; } return 0; } 2164: #include } } if(x==y) printf(\if(x>y) printf(\if(x 2178: #include int T,n,i; __int64 m; scanf(\ while(T--) { scanf(\ m=1; for(i=0;i printf(\ } } 2186: #include int n,a,b,c,sum,m,x,y,z; scanf(\ while(m--) { scanf(\ sum=0; a=n/2; b=(n-a)*2/3; c=n-a-b; x=a/10+(a>=1?1:0); y=b/10+(b>=1?1:0); z=c/10+(c>=1?1:0); sum+=x+y+z; printf(\ } } 2200: #include __int64 i,sum=1; for(i=1;i<=n;i++) sum*=2; return sum; } int main() { __int64 n,i; f[1]=1;f[2]=1; for(i=3;i while(scanf(\ { printf(\ } return 0; }
正在阅读:
杭电acm1405-220006-22
土楼作文800字06-19
保健品代理要怎么在市场上推广恩05-02
大年三十除夕夜作文550字06-14
沈维道热力习题解03-31
设备规程3013.3.1301-30
人教版初三英语第四单元reading09-02
129944793285781250算法指导书(2012)11-09
六年级下语文毕业班语文总复习题-加油站 - 人教新课标版(无答案)-word文档资料12-01
信阳简介03-12
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 杭电
- 1405
- 2200
- acm
- 2016-2017学年度第一学期学校工作总结
- 得荣就业创业培训设备采购清单
- 卫生院学习雷锋规章制度
- 2010届高考英语单项选择题题库(660题)1
- 第一章测试题
- 关于会计工作法律责任问题的研究
- 合肥工业大学2013年保研名单
- 报社先读版面公共版分编辑分标准及评定办法
- 河北省张家口市第四中学2017-2018学年高一下学期期中考试生物(
- 化学工程学院2013学年“文明宿舍”创建活动方案
- InDesign安装说明
- 小学语文部编人教版2二年级上册:1《古诗两首》
- Peking University Address硕博英语精读阅读课堂练习
- 十大英文爱的表白 实用又不失浪漫
- 学车(C本)理论考试重点总结之时间篇
- 数据库系统原理及应用教程第四版课后答案
- 20以内进位加法、退位减法表
- 播音主持专业考试即兴评述话题
- 路基沉降观测实施细则
- 09物流2班班级形象片创意策划书