zoukankan      html  css  js  c++  java
  • USACO Runaround Numbers

    题目大意:问最近的比n大的循环数是多少

    思路:第n遍暴力大法好

     1 /*{
     2 ID:a4298442
     3 PROB:runround
     4 LANG:C++
     5 }
     6 */
     7 #include<iostream>
     8 #include<fstream>
     9 #define maxn 500
    10 using namespace std;
    11 ifstream fin("runround.in");
    12 ofstream fout("runround.out");
    13 //#define fin cin
    14 //#define fout cout
    15 int runround(long long x)
    16 {
    17     int digital[maxn]={0},num[maxn],h=0;
    18     bool visit[maxn]={0},visit2[11]={0};
    19     while(x!=0)
    20     {
    21         digital[++h]=x%10;
    22         if(visit2[digital[h]]==1)return 0;
    23         visit2[digital[h]]=1;
    24         if(digital[h]==0)return 0;
    25         x/=10;
    26     }
    27     for(int i=h;i>=1;i--)num[i-1]=digital[h-i+1];
    28     int pos=0;
    29     for(int i=1;i<=h;i++)
    30     {
    31         visit[pos]=1;
    32         int u=num[pos];
    33         pos=(u+pos)%h;
    34         if(visit[pos]==1 && i!=h)return 0;
    35         if(i==h && pos!=0)return 0;
    36     }
    37     return 1;
    38 }
    39 int main()
    40 {
    41     int n;
    42     fin>>n;
    43     for(long long i=n+1;;i++)
    44     {
    45         if(runround(i))
    46         {
    47             fout<<i<<endl;
    48             break;
    49         }
    50     }
    51     return 0;
    52 }
  • 相关阅读:
    uva 550
    uva 10110
    uva 10014
    uva 10177
    uva 846
    Dear Project Manager, I Hate You
    创业型软件公司的心得
    架构设计的心得
    程序员常去的103个网站
    66个经典源码网站
  • 原文地址:https://www.cnblogs.com/philippica/p/4320615.html
Copyright © 2011-2022 走看看