101中学2014届12班吧 关注:338贴子:56,207

回复:Twelve.C++|marcool代码

取消只看楼主收藏回复

01 #include<iostream>
02 using namespace std;
03 int work(int N,int M)
04 {
05 int s=0;
06 if(M!=1)
07 s=(work(N-1,M-1)*work(N,M-1))/(work(N,M-1)-work(N-1,M-1));
08 else
09 return N;
10 return s;
11 }
12 main()
13 {
14 int M,N;
15 cin>>N>>M;
16 if(N%2==0)
17 if(M<=N/2)
18 cout<<"1/"<<work(N,M);
19 else
20 cout<<"1/"<<work(N,N-M+1);
21 if(N%2!=0)
22 if(M<=N/2+1)
23 cout<<"1/"<<work(N,M);
24 else
25 cout<<"1/"<<work(N,N-M+1);
26 //system("pause");
27 return 0;
28 }
0007


IP属地:上海21楼2012-11-30 23:28
回复
    01 #include<iostream>
    02 using namespace std;
    03 main()
    04 {
    05 int a,c,i,j,max=0,Sum=0;
    06 cin>>a;
    07 int b[a+1];
    08 for(i=1;i<=a;i++)
    09 {
    10 cin>>b[i];
    11 if(max<b[i])
    12 max=b[i];
    13 }
    14 cin>>c;
    15 max*=c;
    16 int s[max+1];
    17 for(i=1;i<=max;i++)
    18 {
    19 s[i]=0;
    20 }
    21 for(i=1;i<=a;i++)
    22 {
    23 for(j=1;j<=c;j++)
    24 s*(j-1)+1]++;
    25 }
    26 for(i=1;i<=max;i++)
    27 {
    28 if(s[i]!=0)
    29 Sum++;
    30 }
    31 cout<<Sum;
    32 // system("pause");
    33 return 0;
    34 }
    0005


    IP属地:上海本楼含有高级字体22楼2012-11-30 23:28
    回复
      #include<iostream>
      using namespace std;
      long long a[5000]={0};
      long long work(long long m)
      {
      long long i,s=1;
      if(m==1)
      return 1;
      for(i=1;i<=m/2;i++)
      {
      if(a[i]!=0)
      s+=a[i];
      else
      {
      a[i]=work(i);
      s+=a[i];
      }
      }
      return s;
      }
      main()
      {
      long long m;
      cin>>m;
      cout<<work(m);
      return 0;
      }
      0049


      IP属地:上海26楼2012-12-02 22:19
      回复
        #include<iostream>
        using namespace std;
        char sudoku[10][10];
        int sudokut[10][10]={0},f=0;
        bool work(int x,int y)
        {
        char c;
        bool t;
        int i,j;
        if(f!=0)
        {
        if(sudokut[x][y]==0)
        {
        if(y==9)
        {
        return work(x+1,1);
        }
        else
        {
        return work(x,y+1);
        }
        }
        else
        {
        for(c='1';c<='9';c++)
        {
        t=true;
        for(j=1;j<=9;j++)
        {
        if(c==sudoku[x][j]||c==sudoku[j][y])
        {
        t=false;
        break;
        }
        }
        for(i=(x+2)/3*3-2;i<=(x+2)/3*3;i++)
        {
        for(j=(y+2)/3*3-2;j<=(y+2)/3*3;j++)
        {
        if(c==sudoku[i][j])
        {
        t=false;
        break;
        }
        }
        if(t==false)
        break;
        }
        if(t==true)
        {
        sudoku[x][y]=c;
        f--;
        if((y!=9&&work(x,y+1))||(y==9&&work(x+1,1)))return true;
        sudoku[x][y]='?';
        f++;
        }
        }
        return false;
        }
        }
        else
        {
        return true;
        }
        }
        main()
        {
        int i,j;
        for(i=1;i<=9;i++)
        for(j=1;j<=9;j++)
        {
        cin>>sudoku[i][j];
        if(sudoku[i][j]=='?')
        {
        sudokut[i][j]=1;
        f++;
        }
        }
        work(1,1);
        for(i=1;i<=9;i++)
        {
        for(j=1;j<=9;j++)
        {
        cout<<sudoku[i][j];
        if(j<9)
        cout<<" ";
        }
        if(i<9)
        cout<<endl;
        }
        return 0;
        }
        0237
        哈哈哈哈!D级题不再是神话!!


        IP属地:上海27楼2012-12-04 21:30
        回复
          祝贺我吧


          IP属地:上海28楼2012-12-04 21:33
          回复
            #include<iostream>
            using namespace std;
            main()
            {
            int N,M,i,j,s=0;
            cin>>N>>M;
            int bal[N+1],pio[M+1];
            for(i=1;i<=N;i++)
            cin>>bal[i];
            for(i=1;i<=M;i++)
            cin>>pio[i];
            for(i=1;i<=N;i++)
            for(j=i;j<=N;j++)
            if(bal[i]>bal[j])
            swap(bal[i],bal[j]);
            for(i=1;i<=M;i++)
            for(j=i;j<=M;j++)
            if(pio[i]>pio[j])
            swap(pio[i],pio[j]);
            j=1;
            for(i=1;i<=M;i++)
            {
            if(pio[i]>=bal[j])
            {s++;j++;}
            if(pio[i]>=bal[j])
            {s++;j++;}
            }
            cout<<s;
            // system("pause");
            return 0;
            }
            0006


            IP属地:上海29楼2012-12-08 19:43
            回复
              0081 7744


              IP属地:上海30楼2012-12-09 22:18
              回复
                #include<iostream>
                using namespace std;
                main()
                {
                char c,i,j,b;
                int a;
                cin>>a;
                c=a+'A'-1;
                for(i='A';i<=c;i++)
                {
                for(j=i;j>='A';j--)
                cout<<j;
                for(j='B';j<=c-i+'A';j++)
                cout<<j;
                for(j=c-i+'A'-1;j>='A';j--)
                cout<<j;
                for(j='B';j<=i;j++)
                cout<<j;
                cout<<endl;
                }
                for(i=c-1;i>='A';i--)
                {
                for(j=i;j>='A';j--)
                cout<<j;
                for(j='B';j<=c-i+'A';j++)
                cout<<j;
                for(j=c-i+'A'-1;j>='A';j--)
                cout<<j;
                for(j='B';j<=i;j++)
                cout<<j;
                cout<<endl;
                }
                return 0;
                }
                末日的云


                IP属地:上海31楼2012-12-22 17:09
                回复
                  #include<iostream>
                  using namespace std;
                  main()
                  {
                  int n,m,i,n1,n2;
                  cin>>n>>m;
                  int sign[n+1],j=0;
                  for(i=1;i<=n;i++)
                  sign[i]=0;
                  for(i=1;i<=m;i++)
                  {
                  cin>>n1>>n2;
                  sign[n1]++;
                  sign[n2]++;
                  }
                  for(i=1;i<=n;i++)
                  {
                  if(sign[i]%2!=0)
                  j++;
                  if(sign[i]==0)
                  {
                  j=1;break;
                  }
                  }
                  if(j==2||j==0)
                  cout<<"yes";
                  else
                  cout<<"no";
                  return 0;
                  }
                  末日的符号


                  IP属地:上海32楼2012-12-22 17:10
                  回复
                    #include<iostream>
                    using namespace std;
                    int x[400]={0};
                    main()
                    {
                    int i,j,n;
                    cin>>n;
                    x[1]=1;
                    for(;n>=1;n--)
                    {
                    j=399;
                    while(x[j]==0)
                    j--;
                    for(i=1;i<=j+1;i++)
                    x[i]*=2;
                    for(i=1;i<=j+1;i++)
                    if(x[i]>=10)
                    {
                    x[i+1]+=x[i]/10;
                    x[i]%=10;
                    }
                    }
                    while(x[i]==0)
                    i--;
                    for(;i!=1;i--)
                    cout<<x[i];
                    cout<<x[1]-1;
                    return 0;
                    }
                    末日传说


                    IP属地:上海34楼2012-12-22 17:12
                    回复
                      能申个精吗?
                      @ 星陨惜分飞


                      IP属地:上海38楼2012-12-22 22:37
                      收起回复
                        #include<iostream>
                        #include<algorithm>
                        using namespace std;
                        main()
                        {
                        int n,i,t,p=1;
                        cin>>n;
                        int s[n];
                        for(i=0;i<n;i++)
                        cin>>s[i];
                        cin>>t;
                        sort(s,s+n);
                        for(i=n-1;i>=0;i--)
                        if(t!=s[i])p++;
                        else break;
                        cout<<p;
                        //system("pause");
                        return 0;
                        }
                        允许并列的排名


                        IP属地:上海39楼2012-12-23 22:32
                        收起回复
                          @voidwolf 新年的钟声——快乐2013


                          IP属地:上海40楼2012-12-27 21:41
                          收起回复
                            #include<iostream>
                            using namespace std;
                            main()
                            {
                            bool t,ch=false;
                            char x[121],y[121];
                            int i,j,l1,l2,a[121],b[121],c[121]={0};
                            cin>>y>>x;
                            l1=strlen(x);
                            l2=strlen(y);
                            for(i=0;i<l1;i++)
                            a[l1-i]=x[i]-'0';
                            for(i=0;i<l2;i++)
                            b[l2-i]=y[i]-'0';
                            for(i=l1;i>=l2;)
                            {
                            t=true;
                            for(j=i;j>=i-l2+1;j--)
                            {
                            if(a[j]>b[l2+j-i])
                            break;
                            if(a[j]<b[l2+j-i]&&ch==false)
                            {
                            t=false;
                            if(a[j]!=0)
                            ch=true;
                            break;
                            }
                            }
                            if(t)
                            {
                            for(j=i;j>=i-l2+1;j--)
                            a[j]-=b[l2+j-i];
                            c[i-l2+1]++;
                            for(j=i-l2+1;j<=i;j++)
                            if(a[j]<0)
                            {
                            a[j]+=10;
                            a[j+1]--;
                            if(j+1>i&&a[j+1]==0)
                            ch=false;
                            }
                            }
                            else
                            {
                            i--;
                            while(a[i]==0&&a[i+1]==0)
                            i--;
                            }
                            }
                            i=120;
                            while(c[i]==0&&i>1)
                            i--;
                            for(j=i;j>=1;j--)
                            cout<<c[j];
                            return 0;
                            }
                            0471 这道题我没对,但是不知道哪里错了,这是为什么


                            IP属地:上海41楼2012-12-30 21:36
                            回复
                              #include<iostream>
                              using namespace std;
                              long long p(long long m)
                              {
                              long long s;
                              s=0;
                              while(m!=0)
                              {
                              s++;
                              m/=10;
                              }
                              return s;
                              }
                              main()
                              {
                              long long i,j,k,n,s;
                              cin>>n;
                              long long tri[51][51];
                              tri[1][1]=1;
                              for(i=2;i<=n;i++)
                              {
                              tri[i][1]=i;
                              tri[i][i]=i;
                              }
                              for(i=3;i<=n;i++)
                              {
                              for(j=2;j<=(i+1)/2;j++)
                              {
                              tri[i][j]=tri[i-1][j]+tri[i-1][j-1]+tri[i-2][j-1];
                              tri[i][i-j+1]=tri[i][j];
                              }
                              }
                              for(i=1;i<=n;i++)
                              {
                              s=n;
                              for(k=1;k<=n;k++)
                              s+=p(tri[n][k]);
                              for(k=1;k<=i;k++)
                              s-=p(tri[i][k])+1;
                              for(k=1;k<=s/2;k++)
                              cout<<" ";
                              for(j=1;j<=i;j++)
                              {
                              cout<<tri[i][j];
                              if(i!=j)
                              cout<<" ";
                              }
                              cout<<endl;
                              }
                              return 0;
                              }
                              554


                              IP属地:上海42楼2012-12-30 22:45
                              回复