算法竞赛 入门经典(第2版)
somniloquy___
这个作者很懒,什么都没留下…
展开
-
习题1-1 平均数(average)
#include #include using namespace std;int main(){ int a,b,c; while(scanf("%d %d %d",&a,&b,&c)!=EOF) { printf("%.3f\n",(a+b+c)*1.0/3); } return 0;}/*整数/整数 只能得到整数部分,必须原创 2015-07-16 20:02:04 · 632 阅读 · 0 评论 -
习题1-3 连续和(sum)
#include #include using namespace std;int main(){ int n,m; while(scanf("%d",&n)!=EOF) { m=(1+n)*n/2; printf("%d\n",m); } return 0;}/*水*/原创 2015-07-16 20:06:02 · 454 阅读 · 0 评论 -
习题2-3 倒三角形(triangle)
#include #include using namespace std;int main(){ int n; while(scanf("%d",&n)!=EOF) { for(int i=n;i>=1;i--) { for(int k=1;k<=n-i;k++) print原创 2015-07-16 20:26:38 · 371 阅读 · 0 评论 -
例题3-3 回文词(Palindromes)
#include #include #include #include const char* rev="A 3 HIL JM O 2TUVWXY51SE Z 8 ";const char* msg[]={"not a palindrome","a regular palindrome","a mirrored string","a mirrored palindrome"}原创 2015-07-16 21:15:31 · 347 阅读 · 0 评论 -
例题3-5 生成元(Digit Generator)
#include #include #include #define maxn 1000005int ans[maxn];using namespace std;int main(){ int x,y,n,t; memset(ans,0,sizeof(ans)); for(int m=1;m<maxn;m++) { x=m,y=m;原创 2015-07-17 08:55:28 · 375 阅读 · 0 评论 -
习题1-6 三角形(triangle)
#include #include using namespace std;int main(){ int a,b,c; while(scanf("%d %d %d",&a,&b,&c)!=EOF) { if(a+b>c&&a+c>b&&b+c>a) { if(a*a+b*b==c*c||a*a+c*c==b原创 2015-07-16 20:12:08 · 551 阅读 · 0 评论 -
习题1-7 年份(year)
#include #include using namespace std;int main(){ int n; while(scanf("%d",&n)!=EOF) { if(n%100==0) { if(n%400==0) printf("yes\n");原创 2015-07-16 20:14:05 · 404 阅读 · 0 评论 -
习题2-4 子序列的和(subsequence)
#include #include using namespace std;int main(){ int n,m,ca=0; long long i; double s; while(scanf("%d %d",&n,&m)!=EOF) { s=0; if(n==0&&m==0) break原创 2015-07-16 20:29:52 · 447 阅读 · 0 评论 -
习题2-6 排列(permutation)
#include #include void control(int num,int &add,int &mul){ int a,b,c; a=num/100; b=num/10%10; c=num%10; add+=a+b+c; mul*=a*b*c;}using namespace std;int main(){ int原创 2015-07-16 20:43:29 · 370 阅读 · 1 评论 -
习题1-2 温度(temperature)
#include #include using namespace std;int main() { double f,c; while(scanf("%lf",&f)!=EOF) { c=5*(f-32)/9; printf("%.3f\n",c); } return 0;}/*水*/原创 2015-07-16 20:04:14 · 888 阅读 · 0 评论 -
习题3-2 分子量(Molar Mass)
#include #include #include #include double gmol(char ch) { if(ch=='C') return 12.01; else if(ch=='H') return 1.008; else if(ch=='O') return 16.00; else if(ch=='N') return 14.01;}原创 2015-07-16 20:59:15 · 402 阅读 · 0 评论 -
习题1-4 正弦和余弦(sin和cos)
#include #include #include using namespace std;int main(){ double n; double s,c; double pi = 3.1415926535; while(scanf("%lf",&n)!=EOF) { s=sin(n/180*pi); c=co原创 2015-07-16 20:08:08 · 657 阅读 · 0 评论 -
习题1-5 打折(discount)
#include #include using namespace std;int main(){ int n; double m; while(scanf("%d",&n)!=EOF) { m=n*95; if(m>=300) printf("%.2f\n",m*0.85); els原创 2015-07-16 20:09:15 · 969 阅读 · 0 评论 -
例题3-4 猜数字游戏的提示(Master-Mind Hints)
#include #include #define maxn 1010using namespace std;int main(){ int n,i; int a[maxn],b[maxn]; int ca=0; while(scanf("%d",&n)!=EOF&&n) { printf("Game %d:\n",++ca);原创 2015-07-17 08:56:23 · 489 阅读 · 0 评论 -
习题2-1 水仙花数(daffodil)
#include #include using namespace std;int main(){ int n,a,b,c; for(n=100;n<=999;n++) { a=n/100; b=n/10%10; c=n%10; if(a*a*a+b*b*b+c*c*c==n) {原创 2015-07-16 20:15:13 · 483 阅读 · 0 评论 -
习题2-5 分数化小数(decimal)
#include #include using namespace std;int main(){ int a,b,c,n,m,k,i; int p[110]; while(scanf("%d %d %d",&a,&b,&c)!=EOF) { if(a==0&&b==0&&c==0) break; k原创 2015-07-16 20:34:01 · 428 阅读 · 0 评论 -
习题3-1 得分(Score)
#include #include using namespace std;int main() { int c,n; while(scanf("%d",&n)!=EOF) { getchar(); for(int i=1; i<=n; i++) { int t=1,sum=0; whi原创 2015-07-16 20:51:25 · 556 阅读 · 0 评论 -
习题3-3 数数字(Digit counting)
#include #include #include #define maxn 1000000using namespace std;int main() { int a[10010]; int b[10]; int i,t,n,j,k; while(scanf("%d",&t)!=EOF) { for(j=1; j<=t; j++) {原创 2015-07-16 21:02:46 · 994 阅读 · 0 评论 -
习题2-2 韩信点兵(hanxin)
#include #include using namespace std;int main(){ int a,b,c,n,ca=0; while(scanf("%d %d %d",&a,&b,&c)!=EOF) { for(n=10;n<=100;n++) { if((n-a)%3==0&&(n-b)%5=原创 2015-07-16 20:18:56 · 608 阅读 · 0 评论 -
习题3-4 周期串(Periodic Strings)
#include #include #include using namespace std;int main() { char s[100]; int k,i,len,j,n; while(scanf("%d",&n)!=EOF) { for(j=1; j<=n; j++) { scanf("%s",s);原创 2015-07-16 21:03:47 · 295 阅读 · 0 评论