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

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

只看楼主收藏回复

001 #include <cstdlib>
002
003 #include <iostream>
004
005
006
007 using namespace std;
008
009
010
011 char a[1050], b[1050], s[1050], c;
012
013 int l1, l2, i, l, jie, x, f;
014
015
016
017 int main()
018
019 {
020
021 cin >> a >> b;
022
023 l1 = strlen(a);
024
025 l2 = strlen(b);
026
027 for (i = 0; i < l1 / 2; i++)
028
029 swap(a[i], a[l1 - i - 1]);
030
031 for (i = 0; i < l2 / 2; i++)
032
033 swap(b[i], b[l2 - i - 1]);
034
035 if (l1 < l2)
036
037 {
038
039 l = l2;
040
041 for (i = l1; i < l2; i++)
042
043 a[i] = '0';
044
045 a[i] = '\0';
046
047 }
048
049 else
050
051 {
052
053 l = l1;
054
055 for (i = l2; i < l1; i++)
056
057 b[i] = '0';
058
059 b[i] = '\0';
060
061 }
062
063 for (i = l - 1; i >= 0; i--)
064
065 {
066
067 if (a[i] > b[i]) {f = -1; break;}
068
069 if (a[i] < b[i]) {f = 1; break;}
070
071 }
072
073 if (f == 0) {cout << 0; return 0;}
074
075 if (f == 1)
076
077 {
078
079 cout << "-";
080
081 for (i = 0; i < l; i++)
082
083 swap(a[i], b[i]);
084
085 }
086
087 for (i = 0; i < l; i++)
088
089 {
090
091 x = a[i] - b[i] - jie;
092
093 if (x < 0)
094
095 {
096
097 jie = 1;
098
099 x = x + 10;
100
101 }
102
103 else
104
105 jie = 0;
106
107 s[i] = x + '0';
108
109 }
110
111 l = l - 1;
112
113 while (s[l] == '0')
114
115 {
116
117 s[l] = '\0';
118
119 l--;
120
121 }
122
123 l++;
124
125 for (i = 0; i < l / 2; i++)
126
127 swap(s[i], s[l - i - 1]);
128
129 cout << s << endl;
130
131 return 0;
132
133 }
高精减


IP属地:上海18楼2012-11-30 21:42
回复
    #include<iostream>
    using namespace std;
    main()
    {
    char a[1001],b[1001];
    int y1[1002],y2[1002],prod[2002]={0},l1,l2,i,j;
    cin>>a>>b;
    l1=strlen(a);
    l2=strlen(b);
    for(i=0;i<l1;i++)
    y1[l1-i]=a[i]-'0';
    for(i=0;i<l2;i++)
    y2[l2-i]=b[i]-'0';
    for(i=1;i<=l1;i++)
    for(j=1;j<=l2;j++)
    prod[i+j-1]+=y1[i]*y2[j];
    for(i=1;i<=2001;i++)
    if(prod[i]>=10)
    {
    prod[i+1]+=prod[i]/10;
    prod[i]%=10;
    }
    while(prod[i]==0)
    {
    i--;
    }
    for(;i!=0;i--)
    cout<<prod[i];
    // system("pause");
    return 0;
    }
    a*b


    IP属地:上海19楼2012-11-30 22:46
    回复
      #include<iostream>
      02 using namespace std;
      03 main()
      04 {
      05 int N,M,i,j,s=0;
      06 cin>>N>>M;
      07 int bal[N+1],pio[M+1];
      08 for(i=1;i<=N;i++)
      09 cin>>bal[i];
      10 for(i=1;i<=M;i++)
      11 cin>>pio[i];
      12 for(i=1;i<=N;i++)
      13 for(j=i;j<=N;j++)
      14 if(bal[i]>bal[j])
      15 swap(bal[i],bal[j]);
      16 for(i=1;i<=M;i++)
      17 for(j=i;j<=M;j++)
      18 if(pio[i]>pio[j])
      19 swap(pio[i],pio[j]);
      20 j=1;
      21 for(i=1;i<=M;i++)
      22 {
      23 if(pio[i]>=bal[j])
      24 {s++;j++;}
      25 if(pio[i]>=bal[j])
      26 {s++;j++;}
      27 }
      28 cout<<s;
      29 // system("pause");
      30 return 0;
      31 }
      0006


      IP属地:上海20楼2012-11-30 23:27
      回复
        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
          回复
            不错,不过还没交呢,要是能像徐那样就更好了(分好行,从码酷上复制就行)


            25楼2012-12-01 22:40
            回复
              #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
                            回复
                              谢了!


                              35楼2012-12-22 17:25
                              回复