题解 AT3626 【Kaiden】

Mr_WA

2019-05-28 22:05:36

Solution

# AT3626 【Kaiden】 我今天倒要看看有谁还是用INT的!!! # 献数据:1 ≤ K, A, B ≤ 10^18 long long int k,a,b; 如果一天爬的高度小于一天降下的高度,而且一天无法爬上去, if(a<=b&&a<k)cout<<-1; 如果一天就能爬上去, else if(k<=a)cout<<1; 本~~大佬~~蒟蒻是这么想的:我们如果能爬到k-a这个点,就肯定能爬上去了,记得加1。但是可能会出现没有余数的情况(已经爬上去了),那还要再判断,麻烦了~~很多很多~~一点。 这个方法我用了很多遍了:将被除数减1,这样能避免没有余数的情况。 注:减1之后除出来的余数为0,其实它本来的余数为1。 else cout<<(k-a-1)/(a-b)*2+3; # END: cout<<"\n";//岛国的题要换行!!!