ACM程序设计导引及在线实践

来源:互联网 发布:centos gcc rpm安装包 编辑:程序博客网 时间:2024/05/17 06:47

2750

#include<iostream>using namespace std;int main(){    int t;    cin>>t;    for(int i=1;i<=t;++i)    {        int n;        cin>>n;        if(n%2)            cout<<0<<" "<<0<<endl;        else if(n%4)            cout<<n/4+1<<" "<<n/2<<endl;        else            cout<<n/4<<" "<<n/2<<endl;    }    return 0;}

2733

#include<iostream>using namespace std;int main(){    int a;    cin>>a;    if((a%4==0 && a%100!=0) || a%400==0)        cout<<"Y"<<endl;    else        cout<<"N"<<endl;    return 0;}

2742

#include<iostream>#include<fstream>#include<cstring>int sum[26];using namespace std;int main(){    //fstream cin("d:\\test.txt");    int t;    cin>>t;    while(t--)    {        string s;        cin>>s;        for(int i=0;i<26;++i)            sum[i]=0;        for(int i=0;i<s.size();++i)            sum[s[i]-'a']++;        int MAX=0;        for(int i=0;i<26;++i)            if(sum[i]>sum[MAX])                MAX=i;        cout<<(char)(MAX+'a')<<" "<<sum[MAX]<<endl;    }    return 0;}

2964

#include<stdio.h>int type(int m){    if((m%4==0 && m%100!=0) || m%400==0)        return 1;    else        return 0;}char week[7][10]={"Saturday","Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday"};int year[2]={365,366};int month[2][12]={31,28,31,30,31,30,31,31,30,31,30,31,31,29,31,30,31,30,31,31,30,31,30,31};int main(){    //freopen("d:\\test.txt","r",stdin);    int days,dayofweek;    int i,j;    while(scanf("%d",&days) && days!=-1)    {        dayofweek=days%7;        days++;        for(i=2000;days>year[type(i)];++i)            days-=year[type(i)];        for(j=0;days>month[type(i)][j];++j)            days-=month[type(i)][j];        printf("%d-%02d-%02d %s\n",i,j+1,days,week[dayofweek]);    }    return 0;}

2753

#include<iostream>using namespace std;int f(int a){    if(a==1 || a==2)        return 1;    else        return f(a-1)+f(a-2);}int main(){    int n;    cin>>n;    for(int i=1;i<=n;++i)    {        int a;        cin>>a;        cout<<f(a)<<endl;    }    return 0;}

2746

#include<iostream>#include<cstdio>using namespace std;int aLoop[333];int main(){    int n,m,i;    while(1)    {        scanf("%d%d",&n,&m);        if(n==0)            break;        for(i=0;i<n;++i)            aLoop[i]=i+1;        int nPtr=0;        for(i=0;i<n;++i)        {            int nCounted=0;            while(nCounted<m)            {                while(aLoop[nPtr]==0)                    nPtr=(nPtr+1)%n;                nCounted++;                nPtr=(nPtr+1)%n;            }            nPtr--;            if(nPtr<0)                nPtr=n-1;            if(i==n-1)                printf("%d\n",aLoop[nPtr]);            aLoop[nPtr]=0;        }    }    return 0;}

2801

#include<iostream>#include<cstring>#include<fstream>using namespace std;int main(){    //fstream cin("d:\\test.txt");    int cnt[26];    int n,m,p,i,j;    for(i=0;i<26;++i)        cnt[i]=0;    cin>>n>>m>>p;    for(i=0;i<n;++i)    {        string s;        cin>>s;        for(j=0;j<s.size();++j)            cnt[s[j]-'A']++;    }    for(i=0;i<p;++i)    {        string str;        cin>>str;        for(j=0;j<str.size();++j)            cnt[str[j]-'A']--;    }    for(i=0;i<26;++i)        if(cnt[i])            for(j=0;j<cnt[i];++j)                cout<<char(i+'A');    cout<<endl;    return 0;}


2816

#include<iostream>#include<fstream>using namespace std;char map[21][21];int w,h;int dfs(int x,int y){    if(x<0 || x>=w || y<0 || y>=h)        return 0;    if(map[x][y]=='#')        return 0;    map[x][y]='#';    return 1+dfs(x-1,y)+dfs(x+1,y)+dfs(x,y-1)+dfs(x,y+1);}int main(){    int i,j;    //fstream cin("d:\\test.txt");    while(cin>>h>>w && w+h)    {        for(i=0;i<w;++i)            cin>>map[i];        for(i=0;i<w;++i)            for(j=0;j<h;++j)                if(map[i][j]=='@')                    cout<<dfs(i,j)<<endl;    }    return 0;}


2972

#include<stdio.h>#include<string.h>long change(char *x,int b){    long sum=0;    int len=strlen(x);    for(int i=0;i<len;++i)    {        if(x[i]-'0'>=b)            return -1;        sum*=b;        sum+=x[i]-'0';    }    return sum;}int main(){    int n,b;    char p[8],q[8],r[8];    long pp,qq,rr;    scanf("%d",&n);    while(n--)    {        scanf("%s%s%s",p,q,r);        for(b=2;b<=16;++b)        {            pp=change(p,b);            qq=change(q,b);            rr=change(r,b);            if(pp==-1 || qq==-1 || rr==-1)                continue;            if(pp*qq==rr)            {                printf("%d\n",b);                break;            }        }        if(b==17)            printf("0\n");    }    return 0;}


2973

#include<stdio.h>#include<string.h>int main(){    int i,k,base[31],sum;    char s[32];    base[0]=1;    for(i=1;i<31;++i)        base[i]=2*base[i-1]+1;    while(1)    {        scanf("%s",s);        if(strcmp(s,"0")==0)            break;        sum=0;        k=strlen(s);        for(i=0;i<strlen(s);++i)        {            k--;            sum+=(s[i]-'0')*base[k];        }        printf("%d\n",sum);    }    return 0;}


2694

#include<stdio.h>#include<math.h>#include<stdlib.h>double exp(){    char a[10];    scanf("%s",a);    switch(a[0])    {        case '+':return exp()+exp();break;        case '-':return exp()-exp();break;        case '*':return exp()*exp();break;        case '/':return exp()/exp();break;        default:return atof(a);    }}int main(){    //freopen("d:\\test.txt","r",stdin);    double ans;    ans=exp();    printf("%lf\n",ans);    return 0;}


2756

#include<stdio.h>int common(int x,int y){    if(x==y)        return x;    else if(x>y)        return common(x/2,y);    else        return common(x,y/2);}int main(){    int n,m,result;    scanf("%d%d",&m,&n);    printf("%d\n",common(m,n));    return 0;}


2977

#include<stdio.h>int main(){    //freopen("d:\\test.txt","r",stdin);    int p,e,i,d,j,no=1;    scanf("%d%d%d%d",&p,&e,&i,&d);    while(p+e+i+d!=-4)    {        for(j=d+1;j<21252;++j)            if((j-p)%23==0)                break;        for(;j<21252;j+=23)            if((j-e)%28==0)                break;        for(;j<21252;j+=23*28)            if((j-i)%33==0)                break;        printf("Case %d",no);        printf(": the next triple peak occurs in %d days.\n",j-d);        scanf("%d%d%d%d",&p,&e,&i,&d);        no++;    }    return 0;}


2712

#include<stdio.h>int main(){    int days[12]={31,28,31,30,31,30,31,31,30,31,30,31};    int n;    scanf("%d",&n);    for(int i=0;i<n;++i)    {        int m1,d1,m2,d2,sum=0;        long num;        scanf("%d%d%ld%d%d",&m1,&d1,&num,&m2,&d2);        for(int k=m1;k<m2;++k)            sum+=days[k-1];        sum-=d1;        sum+=d2;        for(int k=1;k<=sum;++k)            num*=2;        printf("%ld\n",num);    }    return 0;}


2808

#include<stdio.h>int main(){    //freopen("d:\\test.txt","r",stdin);    int l,i,j,n;    bool trees[10001];    for(i=0;i<10001;++i)        trees[i]=true;    scanf("%d%d",&l,&n);    for(i=0;i<n;++i)    {        int begin,end;        scanf("%d%d",&begin,&end);        for(j=begin;j<=end;++j)            trees[j]=false;    }    int count=0;    for(i=0;i<=l;++i)        if(trees[i])            count++;    printf("%d\n",count);}




原创粉丝点击