• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            C小加

            厚德 博學 求真 至善 The bright moon and breeze
            posts - 145, comments - 195, trackbacks - 0, articles - 0
              C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

            Ural1095. Nikifor 3 解題報告

            Posted on 2012-03-01 13:50 C小加 閱讀(247) 評論(0)  編輯 收藏 引用 所屬分類: 解題報告

            題目保證至少有一個1234。說明這四個數是一個突破點。由此可以聯想到以1234四個數字結尾的數保證能被7整除。這樣不論前邊的數怎樣排列,后邊四個數總有一種組合能夠保證整體可以被7整除。

            #include<iostream>
            #include<cstdio>
            #include<cstring>
            using namespace std;
            const int z[7]={4123,1324,1234,2341,1243,3421,3142};
            char s[23];
            int ns[23];
            int num0_9[10];
            int atoi(char s)
            {
                return s-'0';
            }
            int fun(int x,int num)//把前邊的數排列成新數
            {
                for(int i=0;i<num0_9[num];i++)
                {
                    ns[x+i]=num;
                }
                return x+num0_9[num];
            }
            int fun2(int x)//求前邊的數除以7的余數
            {
                int yu=0;
                for(int i=0;i<x;i++)
                {
                    yu=(yu*10+ns[i])%7;
                }
                return yu;
            }
            int main()
            {
                int t;
                scanf("%d",&t);
                while(t--)
                {
                    memset(num0_9,0,sizeof(num0_9));
                    scanf("%s",s);
                    int slen=strlen(s);
                    //統計每個數的個數
                    for(int i=0;i<slen;i++)
                    {
                      int num=atoi(s[i]);
                      num0_9[num]++;
                    }
                    //減去1、2、3、4
                    for(int i=1;i<=4;i++)
                    {
                        num0_9[i]--;
                    }
                    //求前邊組成的新數
                    int x=0;
                    for(int i=1;i<=9;i++)
                    {
                        x=fun(x,i);
                    }
                    int yu=fun2(x);//求新數除以7的余數
                    int i;
                    //找到一種組合可以與前邊的數組合起來被7整除
                    for(i=0;i<7;i++)
                    {
                        if((yu*10000+z[i])%7==0)
                        {
                            break;
                        }
                    }
                    //輸出,后邊可以補上0
                    for(int j=0;j<x;j++)
                    printf("%d",ns[j]);
                    printf("%d",z[i]);
                    for(int j=0;j<num0_9[0];j++)
                    printf("0");
                    printf("\n");

                }

                return 0;
            }

             

            久久亚洲中文字幕精品一区| MM131亚洲国产美女久久| 国产成人香蕉久久久久| 久久国产成人午夜aⅴ影院| 精品久久久久久无码中文字幕| 午夜精品久久久久9999高清| 久久不见久久见免费视频7| 99久久免费国产精品| 国产美女亚洲精品久久久综合| 国产精品一区二区久久| 久久午夜夜伦鲁鲁片免费无码影视 | 久久婷婷激情综合色综合俺也去| 亚洲综合精品香蕉久久网97| 伊人久久精品无码av一区| 精品久久久久久久久久久久久久久 | 久久精品国产亚洲Aⅴ蜜臀色欲| 久久午夜无码鲁丝片秋霞| 国内精品久久久久国产盗摄| 久久99精品久久久久久久久久| 深夜久久AAAAA级毛片免费看 | 久久久久久久久久久精品尤物| 国产精品久久久久久福利漫画 | 99久久99久久久精品齐齐| 狠狠色丁香久久婷婷综合| 一个色综合久久| 亚洲国产成人精品久久久国产成人一区二区三区综 | 无码人妻久久一区二区三区| 污污内射久久一区二区欧美日韩| 久久精品国产亚洲麻豆| 久久久国产精品网站| 青青国产成人久久91网| 久久国产精品99久久久久久老狼| 囯产极品美女高潮无套久久久| 人妻丰满?V无码久久不卡| 亚洲狠狠久久综合一区77777 | 99久久国产综合精品网成人影院| 77777亚洲午夜久久多喷| 久久免费线看线看| 国产精品无码久久四虎| 狠狠综合久久综合中文88| 久久无码人妻精品一区二区三区|