题意:中文题,不翻译。。
策略:观察可知,第i张牌 如果小于等于n 那么他的序号就会变为i*2, 如果大于n 那么就会变成(i-n)*2-1 故 只需要模拟下就好了
AC by SWS
题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=1210
代码:
#include<stdio.h> int main() { int n, cur, pre; while(scanf("%d", &n) == 1){ int ans = 1; cur = 2; while(cur != 1){ if(cur<=n) cur *=2; else cur = (cur-n)*2-1; ++ans; } printf("%d\n", ans); } return 0; }
hdoj 1210 Eddy's 洗牌问题 【模拟】
时间: 2024-11-04 21:15:11