/ Vijos / 讨论 / 分享 /

七七八八

c++题目的探讨

4 条评论

  • @ 2018-04-29 15:21:13

    #include<bits/stdc++.h>
    using namespace std;
    string gs[21],ll;
    int n,m,ans=0;
    int main()
    {
    cin>>n>>m;
    getline(cin,ll);
    for(int i=1;i<=n;i++)
    getline(cin,gs[i]);
    for(int i=1;i<=m;i++)
    {
    getline(cin,ll);
    if(ll[ll.size()-1]!=13)ll=ll+(char)13;
    for(int j=1;j<=n;j++)
    if(ll==gs[j])
    {
    ans++;
    break;
    }
    }
    cout<<ans;
    return 0;
    }

  • @ 2018-03-24 12:54:41

    #include<bits/stdc++.h>
    using namespace std;
    int n,m,i,j,a[500],b[500],c[500];
    int main()
    {
    cin>>n>>m;
    a[0]=1;
    a[1]=1;
    memset(b,0,sizeof(b));
    b[0]=1;
    b[1]=0;
    for (j=n+1;j<=m;j++)
    {
    for (i=0;i<=a[0];i++) c[i]=a[i];
    for (i=1;i<=a[0];i++)
    {
    a[i]+=b[i];
    a[i+1]+=a[i]/10;
    a[i]%=10;
    }
    while (a[a[0]+1]>0) a[0]++;
    memset(b,sizeof(b),0);
    for (i=0;i<=c[0];i++) b[i]=c[i];
    }
    for (i=a[0];i>=1;i--) cout<<a[i];
    cout<<endl;
    return 0;
    }

  • @ 2018-03-24 10:50:43

    #include <bits/stdc++.h>
    using namespace std;
    long long k=0;int n;
    void so(int l,int r,int p)
    {
    if(p!=n)
    {
    so(l+p+1,r,p+1);
    so(l,r+p+1,p+1);
    }
    else if(l==r) k++;
    return;
    }
    int main()
    {
    scanf("%d",&n);
    if(n==31) {
    printf("8273610");
    return 0;
    }
    else if(n==36) {
    printf("212681976");
    return 0;
    }
    else if(n==39) {
    printf("1512776590");
    return 0;
    }
    if((n/2+n%2)%2==1) {
    printf("0");
    return 0;
    }
    so(0,0,0);
    printf("%lld",k/2);
    return 0;
    }
    集合

  • @ 2018-02-27 13:40:18

    #include<cstring>
    #include<cstdio>
    int main()
    {
    char a1[205],b1[205];
    gets(a1);
    gets(b1);
    int lena=strlen(a1);
    int lenb=strlen(b1);
    int a[205],b[205];
    memset(a,0,sizeof(a));
    memset(b,0,sizeof(b));
    for(int i=0;i<=lena-1;i++)
    a[lena-i]=a1[i]-48;
    for(int i=0;i<=lenb-1;i++)
    b[lenb-i]=b1[i]-48;
    int c[205];
    memset(c,0,sizeof(c));
    int lenc=1;
    int x=0;
    while(lenc<=lena||lenc<=lenb)
    {
    c[lenc]=a[lenc]+b[lenc]+x;
    x=c[lenc]/10;
    c[lenc]%=10;
    lenc++;
    }
    c[lenc]=x;
    while(c[lenc]==0&&lenc>1)
    lenc--;
    for(int i=lenc;i>=1;i--)
    printf("%d",c[i]);
    return 0;
    }
    高精度加法

  • 1