HDU 6043 KazaQ's Socks 找规律
来源:互联网 发布:博罗县网络问政 编辑:程序博客网 时间:2024/06/05 14:32
题意是说KazaQ有n双袜子,标号1到n放在柜子里,每天早上起床穿袜子选标号最小的一双。然后晚上回来将穿过的扔到篮子里。当篮子里的袜子数量为n-1的时候,就把这些袜子洗一下,第二天晚上再放回柜子里。问KazaQ在第K天穿的是哪一个标号的袜子。
简单排一下就会发现这个题有一个简单的规律,前n天肯定都是按标号穿,然后后面几天因为穿第n双袜子的时候,所以穿1到n-1号,之后n号袜子在洗所以穿1号袜子。然后穿1到n-2号,因为此时n-1号在洗,所以接下来穿的是n号袜子,依次类推便可发现袜子穿的标号顺序为1、2、...、n、1、2、...、n-1、1、2、...、n-2、n、.....由此规律来进行分段,前面n个数直接输出,后面的分开前后两部分,取模就可以得出结果了。
下面AC代码:
#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>using namespace std;int main(){ long long n,k; long long t; int Case=0; while(scanf("%lld%lld",&n,&k)!=EOF) { Case++; cout<<"Case #"<<Case<<": "; if(k<=n) { cout<<k<<endl; continue; } if(n==2) { if(k%2==0) cout<<2<<endl; else cout<<1<<endl; continue; } k-=n; t=k%((n-1)*2); if(t==0) t=(n-1)*2; if(t<n) { cout<<t<<endl; } else { if(t%(n-1)==0) { cout<<n<<endl; } else { cout<<t%(n-1)<<endl; } } } return 0;}
阅读全文
1 0
- HDU 6043 KazaQ's Socks 找规律
- HDU 6043 KazaQ's Socks 【规律】
- HDU 6043 KazaQ's Socks【规律】
- hdu 6043 KazaQ's Socks(规律)
- 2017杭电多校联赛 1011 KazaQ's Socks(找规律)HDU 6043
- HDU 6043(KazaQ's Socks) 规律题 Java
- HDU 6043 KazaQ's Socks
- hdu 6043 KazaQ's Socks
- HDU 6043 KazaQ's Socks
- HDU 6043 KazaQ's Socks
- 2017杭电多校联赛-KazaQ's Socks 找规律
- HDU-KazaQ's Socks
- KazaQ's Socks HDU
- HDU6043 KazaQ's Socks【规律】
- HDU 6043 KazaQ's Socks(周期)
- HDU 6043 KazaQ's Socks(水~)
- (数学)HDU 6043 KazaQ's Socks
- 2017年多校赛第一场 1011 KazaQ's Socks(找规律)
- c库函数
- Java中常见的5种WEB服务器介绍
- Snort搭建
- (三)php参考手册----Math函数
- 异形滚动
- HDU 6043 KazaQ's Socks 找规律
- CentOS6.5下二进制多实例安装mysql-5.6.27
- 宁波市第31届中小学程序设计比赛模拟试题 【动态规划】cirs
- Git Flow 咀嚼:git flow 对应的git实现
- 设计模式之Builder模式
- echarts使用教程1
- Error:Execution failed for task ':app:transformClassesWithDexForDebug'解决记录
- android背景高斯模糊的Dialog
- 单例模式