USACO Section2.2 Runaround Numbers 解题报告 【icedream61】
runround解题报告
------------------------------------------------------------------------------------------------------------------------------------------------
【题目】
给你一个数M,找出第一个比它大的循环数。
循环数:不包括0、没有重复数字,并且有循环性质的正整数。
循环性质:以81362为例
1.找到最高位,是8,那么往下数8位,依次是1,3,6,2,8,1,3,6
2.现在是6,那么继续往下数6位,是2,8,1,3,6,2
3.现在是2,数2位,是8,1
4.现在是1,数1位,是3
5.现在是3,数3位,是6,2,8
6.现在回到了8,并且每个数字都恰好被数了1次,那么这个数有循环性质。
【数据范围】
M是1~9位的自然数,所求答案一定可以用无符号长整形装下。
【输入样例】
81361
【输出样例】
81362
------------------------------------------------------------------------------------------------------------------------------------------------
【分析】
没啥可说的,直接做。
------------------------------------------------------------------------------------------------------------------------------------------------
【总结】
今天精神不大集中,忽略了点小细节,没有一次AC。
------------------------------------------------------------------------------------------------------------------------------------------------
【代码】
/*
ID: icedrea1
PROB: runround
LANG: C++
*/ #include <iostream>
#include <fstream>
using namespace std; bool ok(long long num)
{
int l=,d[];
bool mark[]={},have[]={};
while(num) { d[l++]=num%; num/=; }
for(int i=;i!=l;++i)
if(have[d[i]]||d[i]==) return false;
else have[d[i]]=true; int i=l-,s=; mark[i]=true;
while(s<l)
{
int k=d[i];
i=(i-k+l*)%l;
if(mark[i]) return false;
mark[i]=true; ++s;
}
int k=d[i];
i=(i-k+l*)%l;
return i==l-;
} int main()
{
ifstream in("runround.in");
ofstream out("runround.out"); long long M,i; in>>M;
for(i=M+;!ok(i);++i);
out<<i<<endl; in.close();
out.close();
return ;
}
USACO Section2.2 Runaround Numbers 解题报告 【icedream61】的更多相关文章
- USACO Section2.1 The Castle 解题报告
castle解题报告 —— icedream61 博客园(转载请注明出处)--------------------------------------------------------------- ...
- USACO Section2.1 Ordered Fractions 解题报告
frac1解题报告 —— icedream61 博客园(转载请注明出处)---------------------------------------------------------------- ...
- USACO Section2.1 Healthy Holsteins 解题报告 【icedream61】
holstein解题报告 --------------------------------------------------------------------------------------- ...
- USACO Section2.2 Preface Numbering 解题报告 【icedream61】
preface解题报告----------------------------------------------------------------------------------------- ...
- USACO Section2.1 Hamming Codes 解题报告 【icedream61】
hamming解题报告----------------------------------------------------------------------------------------- ...
- USACO Section2.3 Controlling Companies 解题报告 【icedream61】
concom解题报告------------------------------------------------------------------------------------------ ...
- USACO Section2.3 Money Systems 解题报告 【icedream61】
money解题报告------------------------------------------------------------------------------------------- ...
- USACO Section2.3 Zero Sum 解题报告 【icedream61】
zerosum解题报告----------------------------------------------------------------------------------------- ...
- USACO Section2.3 Cow Pedigrees 解题报告 【icedream61】
nocows解题报告------------------------------------------------------------------------------------------ ...
随机推荐
- EK算法应用,构图(POJ1149)
题目链接:http://poj.org/problem?id=1149 题意中有一点要注意,否则构图就会有问题,每个顾客走后,被打开过的那些猪圈中的猪都可以被任意的调换到其他开着的猪圈中. 这里的构图 ...
- javaweb基础(40)_jdbc框架
一.元数据介绍 元数据指的是"数据库"."表"."列"的定义信息. 1.1.DataBaseMetaData元数据 Connection.g ...
- CUDA Texture纹理存储器 示例程序
原文链接 /* * Copyright 徐洪志(西北农林科技大学.信息工程学院). All rights reserved. * Data: 2012-4-20 */ // // 此程序是演示了1D和 ...
- 微信H5单页面滑动的时候如何避免出界,出现头部和底部的黑底?
ios系统微信浏览器.safari浏览器中h5页面上拉下滑导致悬浮层脱离窗口的解决方法 ios偶现下拉出现黑底时,界面第一次上拉时拉不动的解决方案: document.querySelector('# ...
- ant Design表单验证笔记
1.pattern正则验证 <Col md={12} sm={24}> <FormItem {...formItemLayout} label="班数"> ...
- 返回固定数据的web服务器
import socket def handle_client(socket_con): """ 接收来自客户端的请求,并接收请求报文,解析,返回 "" ...
- matlab2018a安装后帮助文档打不开解决方法
安装matlab2018a破解版后,帮助文档提示需要许可证问题(破解版没有可用许可证): 解决方法是把文档设置为离线即可(预设---->帮助---->安装在本地---->小窗口)
- django+xadmin在线教育平台(十四)
7-1 django templates模板继承1 机构可以筛选类别 机构可以根据所在地区进行分类 右侧我要学习功能: form表单提交 右下:授课机构排名 页面头部与底部为全局头和全局底部. Dja ...
- Docker自学纪实(六)搭建docker私有仓库
docker的镜像仓库分两种:一种是从官方公有仓库拉取:还有就是自己搭建私有仓库.官方的镜像仓库是面对整个应用市场的:私有仓库一般用于公司内部,就是公司项目自身所需的镜像.搭建私有仓库有什么好处?私有 ...
- struts2之输入验证
输入校验主要分为两种: 基于客户端的校验: 客户端校验主要作用是防止正常浏览者的误输入,仅能对输入进行初步过滤:对于一些用户恶意行为,客户端校验则无能为力. 基于服务端的校验: 服务器接收客户端提交的 ...