HDU 6043 - KazaQ's Socks | 2017 Multi-University Training Contest 1
/* HDU 6043 - KazaQ's Socks [ 找规律 ] | 2017 Multi-University Training Contest 1 题意: 一共 n 双袜子编号 1~n,每天早上选取编号最小的一双穿, 当晚上发现只剩一双袜子能穿时,把之前的袜子都洗了, 明天晚上就可以穿了。 问第 k 天穿的是编号为几的袜子 分析: n = 3时模拟每天穿的袜子 : 1 2 3 1 2 1 3 1 2 1 3 ... 规律如上 */ #include <bits/stdc++.h> using namespace std; long long n, k; int main() { int t = 0; while (~scanf("%lld%lld", &n, &k)) { printf("Case #%d: ", ++t); if (k <= n) printf("%lld\n", k); else { k -= n; long long a = k/(n-1), b = k%(n-1); if (b != 0) printf("%lld\n", b); else if (a % 2) printf("%lld\n", n-1); else printf("%lld\n", n); } } }
我自倾杯,君且随意