标签:
hdu1000
仅仅是为了纪念
1 #include <cstdio> 2 int main() 3 { 4 int a,b; 5 while (scanf("%d%d",&a,&b)!=EOF) 6 { 7 printf("%d\n",a+b); 8 } 9 return 0; 10 }
hdu1001
题目说n*(n+1)/2 不不会爆
但是没和你说n*(n+1)不会爆
用下面这个小方法解决 见代码
#include <iostream> int n; int main() { while (scanf("%d",&n)!=EOF) { int sum; if (n%2==0) sum=n/2*(n+1); else sum=(n+1)/2*n; printf("%d\n\n",sum); } return 0; }
hdu1002 高精度加 注意初始化和前导零的处理即可
#include <cstdio> #include <cmath> #include <cstring> int max(int a,int b) { if (a>b) return a; else return b; } char a[1005],b[1005],c[1005]; int aa[1005],bb[1005],d[1005]; int main() { int T; scanf("%d",&T); for (int j=1;j<=T;j++) { for (int i=0;i<1005;i++) {c[i] =0;a[i]=0;b[i]=0;} scanf("%s %s",a,b); int la,lb; la=strlen(a); lb=strlen(b); for (int i=0;i<strlen(a);i++) c[i]=a[i]; for (int i=0;i<strlen(a);i++) a[i]=c[la-1-i]; for (int i=0;i<strlen(b);i++) c[i]=b[i]; for (int i=0;i<strlen(b);i++) b[i]=c[lb-1-i]; for (int i=0;i<1005;i++) {d[i] =0;aa[i]=0;bb[i]=0;} for (int i=0;i<la;i++) aa[i]=a[i]-‘0‘; for (int i=0;i<lb;i++) bb[i]=b[i]-‘0‘; for (int i=0;i<max(la,lb);i++) d[i]=aa[i]+bb[i]; // for (int i=0;i<=max(la,lb);i++) // printf("%d ",d[i]); for (int i=0;i<max(la,lb);i++) if (d[i]>9) {d[i+1]+=d[i]/10;d[i]=d[i]%10;} int len; if (d[max(la,lb)]!=0) len=max(la,lb); else len=max(la,lb)-1; printf("Case %d:\n",j); for (int i=la-1;i>=0;i--) printf("%d",aa[i]); printf(" + "); for (int i=lb-1;i>=0;i--) printf("%d",bb[i]); printf(" = "); while (d[len]==0) len=len-1; int k; k=len; if (k<0) printf("0"); for (int i=len;i>=0;i--) printf("%d",d[i]); printf("\n"); if (j!=T) printf("\n"); } return 0; }
hdu1003 最大子序列
直接认为不可能为零或者为负数 导致挂了很长时间 还是不能有太多的自己认为
#include <iostream> int max(int a,int b) { if (a>b) return a; else return b; } int a[100005]; int main() { int T; scanf("%d",&T); for (int k=1;k<=T;k++) { int n,ans=-9999; scanf("%d",&n); for (int i=1;i<=n;i++) scanf("%d",&a[i]); int l=1,r=0,sum=0; int la=0,lb=0; while (r<n) { r+=1; sum+=a[r]; if (sum>=ans) { ans=sum; la=l; lb=r; } if (sum<0) { sum=0; l=r+1; } // printf("%d",sum); } printf("Case %d:\n",k); printf("%d %d %d\n",ans,la,lb); if (k!=T) printf("\n"); } return 0; }
hdu1000,hdu1001,hdu1002,hdu1003
标签:
原文地址:http://www.cnblogs.com/tupeihui/p/5024882.html