摘要:
//不难的模拟#include#include int main(void){ int mod,seed[100005]={0},step,flag[100005],i; while(scanf("%d%d",&step,&mod)!=EOF) { memset(flag,-1,sizeof(flag)); flag[0]=1; for(i=1;i<mod;i++) seed[i]=(seed[i-1]+step)%mod,flag[seed[i]]=1; for(i=0;i<mod;i++) ... 阅读全文
摘要:
//求数根#includeint fun(int a);int main(){ int a; char c; while(1) { scanf("%c",&c); if(c=='0') break; a=c-'0'; while(scanf("%c",&c)!=EOF) { if(c=='\n') ... 阅读全文
摘要:
//简单题..#includeusing namespace std;double fun(int i);int main(){ int i,n; double e; printf("n e\n"); printf("- -----------\n"); printf("0 1\n"); printf("1 2\n"); printf("2 2.5\n"); e=2.5; for(i=3;i<=9;i++) { e+=1.0/fun(i); pr... 阅读全文
摘要:
//搜索练习题,深搜广搜也行//437MS 240K 1511 B G++#include#include#include#includechar map[10][10];int mov[4][2]={0,1,1,0,0,-1,-1,0};int n,m,t;int flag;int xb,yb,xe,ye;void dfs(int x,int y,int k){ if(flag) return; if(x==xe && y==ye && k==t){ flag=1;return; } int temp=(t-k)-abs(x-xe)-a... 阅读全文
摘要:
//DP噩梦//对新手来说比较蛋疼的一题,建议先做其他的//31MS 260K 825 B #include #include #define M 1000000struct node{ int a,; int b; double ab;}c[1005];int cmp(const void*a,const void*b){ return (*(node *)b).ab > (*(node *)a).ab?1:-1;}int main(void) { int n,m; while(scanf("%d%d",&n,&m)!=EOF) { ... 阅读全文
摘要:
//模拟题吧- -#includeint main(void){ int arr[1000]={0,1,1}; int i,a,b,n; while(scanf("%d%d%d",&a,&b,&n),a||b||n) { for(i=3;i<1000;i++) { arr[i]=(a*arr[i-1]+b*arr[i-2])%7; if(arr[i]==1&&arr[i-1]==1) break; } n=n%(i-2); ar... 阅读全文
摘要:
//打表找规律#includeint main(void){ int arr[1000]={0,1,1}; int i,a,b,n; while(scanf("%d%d%d",&a,&b,&n),a||b||n) { for(i=3;i<1000;i++) { arr[i]=(a*arr[i-1]+b*arr[i-2])%7; if(arr[i]==1&&arr[i-1]==1) break; } n=n%(i-2); arr[0]=arr[i-2]; printf("%d\n",arr[n]); } ret 阅读全文
摘要:
//C++容器练习题#include#include#includeusing namespace std;int main(void){ map Ballon; string color,Maxcolor; int n,max; while(cin>>n,n) { Ballon.clear(); while(n--) { cin>>color; Ballon[color]++; } map::iterator it; max=0; for(it=Ballon.begin();it!=Ballon.end();it++) if(it->second > ma 阅读全文
摘要:
//dp,注意转移要领,动手模拟一下#include#define max(a,b) (a>b?a:b)int main(void){ int t,n,a[100005]; int st,et,po; int max,now; int k=1; scanf("%d",&t); while(t--) { scanf("%d",&n); for(int i=1;imax){ max=now; st=po; et=i; } } printf("Case %d:\n%d %d %d\n",k++,max,st,et); 阅读全文
摘要:
//大数,直接开数组加#include#includeint s[1005];void Add(char a[],char b[]){ int lena=strlen(a); int lenb=strlen(b); int len=lena>lenb?lena:lenb; int ia[1005]={0}; int ib[1005]={0}; for(int i=0;i=0;j--) printf("%d",s[j]); printf("\n"); if(n) printf("\n"); } return 0;} 阅读全文
摘要:
#includeint main(void){ int n; while(scanf("%d",&n)!=EOF) if(n%2) printf("%d\n\n",(n+1)/2*n); else printf("%d\n\n",n/2*(n+1)); return 0;} 阅读全文