原题:http://acm.hdu.edu.cn/showproblem.php?pid=6043
思路:
一开始我以为这题可以纯模拟,发现TLE,于是打表发现有规律,和b有关
讲道理,模拟看上去肯定更科学点啊
源代码:
#include<iostream> #include<cstdio> #include<cstring> #include<cmath> using namespace std; typedef long long ll; ll n,k; int main() { int kase=1; while(scanf("%lld%lld",&n,&k)!=EOF) { if(n>=k) printf("Case #%d: %d\n",kase++,k); else { ll a=(k-n)/(n-1); ll b=(k-n)%(n-1); if(a&1) { if(b==0) printf("Case #%d: %d\n",kase++,n-1); else printf("Case #%d: %d\n",kase++,b); } else { if(b==0) printf("Case #%d: %d\n",kase++,n); else printf("Case #%d: %d\n",kase++,b); } } } return 0; }