/*
ID:kevin_s1
PROG:runround
LANG:C++
*/ #include <iostream>
#include <cstdio>
#include <string>
#include <cstring>
#include <vector>
#include <map>
#include <set>
#include <algorithm>
#include <cstdlib>
#include <list>
#include <cmath> using namespace std;
//直接枚举就可以 //gobal variable====
long long M;
int num[100];
int num_size; int hash[10];
int hash1[10];
//================== //function==========
int init(long long i){
int x = 1;
while(i != 0){
num[x++] = i % 10;
i = i / 10;
}
x--;
for(int i = 1; i <= x/2; i++){
int tmp = num[i];
num[i] = num[x - i + 1];
num[x - i + 1] = tmp;
}
return x;
} bool judge(long long x){
for(int i = 1; i <= num_size; i++){
hash1[num[i]]++;
if(hash1[num[i]] > 1 || num[i] == 0){
return false;
}
}
int j = 1;
for(int i = 1; i <= num_size; i++){
int bit = num[j];
j = j + bit;
if(j > num_size && (j % num_size) != 0){
j = j % num_size;
}
if(j > num_size && (j % num_size) == 0){
j = num_size;
}
if(hash[j] == 1){
return false;
}
hash[j] = 1;
}
bool flag = true;
if(j != 1)
flag = false;
for(int i = 1; i <= num_size; i++){
if(hash[i] == 0){
flag = false;
break;
}
}
return flag;
} //================== int main(){
freopen("runround.in","r",stdin);
freopen("runround.out","w",stdout);
cin>>M;
memset(num, 0, sizeof(num));
memset(hash, 0, sizeof(hash));
memset(hash1, 0, sizeof(hash1));
M++;
num_size = init(M);
while(!judge(M)){
M++;
memset(num, 0, sizeof(num));
memset(hash, 0, sizeof(hash));
memset(hash1, 0, sizeof(hash1));
num_size = init(M);
}
cout<<M<<endl;
return 0;
}

USACO runaround的更多相关文章

  1. USACO Runaround Numbers 模拟

    根据题意的 Runaround 规则去找比当前数大的最近的一个 Runaround数字 模拟题~ Source code: /* ID: wushuai2 PROG: runround LANG: C ...

  2. USACO Runaround Numbers

    题目大意:问最近的比n大的循环数是多少 思路:第n遍暴力大法好 /*{ ID:a4298442 PROB:runround LANG:C++ } */ #include<iostream> ...

  3. USACO 2.2 Runaround Numbers

    Runaround Numbers Runaround numbers are integers with unique digits, none of which is zero (e.g., 81 ...

  4. 【USACO 2.2】Runaround Numbers

    找出第一个大于n的数满足:每一位上的数都不同,且没有0,第一位开始每次前进当前这位上的数那么多位,超过总位数就回到开头继续往前进,最后能不能每个位都到过一次且回到第一位,$n<10^9$. 暴力 ...

  5. USACO Section 2.2 循环数 Runaround Numbers

    OJ:http://www.luogu.org/problem/show?pid=1467 #include<iostream> #include<vector> #inclu ...

  6. USACO Section 2.2: Runaround Numbers

    简单题 /* ID: yingzho1 LANG: C++ TASK: runround */ #include <iostream> #include <fstream> # ...

  7. USACO Section2.2 Runaround Numbers 解题报告 【icedream61】

    runround解题报告---------------------------------------------------------------------------------------- ...

  8. 洛谷P1467 循环数 Runaround Numbers

    P1467 循环数 Runaround Numbers 89通过 233提交 题目提供者该用户不存在 标签USACO 难度普及/提高- 提交  讨论  题解 最新讨论 暂时没有讨论 题目描述 循环数是 ...

  9. Luogu USACO Training 刷水记录

    开个坑记录一下刷USACO的Training的记录 可能会随时弃坑 只有代码和做法简述 可能没有做法简述 [USACO1.1]你的飞碟在这儿Your Ride Is He… 模拟,细节已忘 #incl ...

随机推荐

  1. [Angular] Component's dependency injection

    An Angular service registered on the NgModule is globally visible on the entire application. Moreove ...

  2. 【Android 应用开发】 ActionBar 样式具体解释 -- 样式 主题 简单介绍 Actionbar 的 icon logo 标题 菜单样式改动

    作者 : 万境绝尘 (octopus_truth@163.com) 转载请著名出处 : http://blog.csdn.net/shulianghan/article/details/3926916 ...

  3. 解决ORA-02395:超出I/O使用的调用限制问题

    ORACLE的PROFILE文件是限制数据库用户使用的资源的一种手段.如:控制session或sql能使用的CPU.控制用户的password管理策略等. 数据库创建后,系统则存在名为DEFAULT的 ...

  4. Ubuntu下的用户和权限(三)

    七.增删群组相关的命令 相同的我们要先介绍两个重要的设定档:/etc/group和/etc/gshadow,前面那个事实上和/etc/passwd一样.而后者就是群组的password表了.先看看长啥 ...

  5. UVA - 12230 Crossing Rivers 概率期望

    You live in a village but work in another village. You decided to follow the straight path between y ...

  6. 编写高质量的Makefile

    源地址 :http://blog.csdn.net/maopig/article/details/6801749 一.前言 回想自己的第一个Makefile,是这个样子的 CODE hello:hel ...

  7. SQL学习——基础语句(1)

    简序 1.SQL,指结构化查询语言,全称是 Structured Query Language. 2.SQL 让您可以访问和处理数据库. 3.SQL 是一种 ANSI(American Nationa ...

  8. QQ自动登录里的一些控件知识

    在这个程序里面有个读取计算机指定文件的知识: private void button2_Click(object sender, EventArgs e) { openFileDialog1.Show ...

  9. Codeforces Round #283 (Div. 2) A

    解题思路:给出一个递增数列,a1,a2,a3,-----,an.问任意去掉a2到a3之间任意一个数之后, 因为注意到该数列是单调递增的,所以可以先求出原数列相邻两项的差值的最大值max, 得到新的一个 ...

  10. POSIX Threads

    POSIX Threads, usually referred to as pthreads, is an execution model that exists independently from ...