HDU6043 KazaQ's Socks

Posted -

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HDU6043 KazaQ's Socks相关的知识,希望对你有一定的参考价值。

Problem Description
KazaQ wears socks everyday.

At the beginning, he has n pairs of socks numbered from 1 to n in his closets. 

Every morning, he puts on a pair of socks which has the smallest number in the closets. 

Every evening, he puts this pair of socks in the basket. If there are n1 pairs of socks in the basket now, lazy KazaQ has to wash them. These socks will be put in the closets again in tomorrow evening.

KazaQ would like to know which pair of socks he should wear on the k-th day.
 

 

Input
The input consists of multiple test cases. (about 2000)

For each case, there is a line contains two numbers n,k (2n109,1k1018).
 

 

Output
For each test case, output "Case #xy" in one line (without quotes), where x indicates the case number starting from 1 and y denotes the answer of corresponding case.
 

 

Sample Input
3 7 3 6 4 9
 

 

Sample Output
Case #1: 3 Case #2: 1 Case #3: 2
 
Code:
#include <iostream>
#include <algorithm>
#include <stdio.h>
#include <cstdlib>
#include <cstring>
#include <cmath>
#include <ctime>
#include <ctype.h>

using namespace std;


int main()
{
    long long int n,k,cnt=0;
    while(cin>>n>>k)
    {
        if(n>=k)
            cout<<"Case #"<<cnt++<<": "<<k<<endl;
        else
        {
            int a=(k-n)/(n-1),b=(k-n)%(n-1);
            if(b!=0)
                cout<<"Case #"<<cnt++<<": "<<b<<endl;
            else
            {
                if(a%2==0)
                    cout<<"Case #"<<cnt++<<": "<<n<<endl;
                else
                    cout<<"Case #"<<cnt++<<": "<<n-1<<endl;
            }
        }
    }
    return 0;
}

 

以上是关于HDU6043 KazaQ's Socks的主要内容,如果未能解决你的问题,请参考以下文章

杭电 KazaQ's Socks

HDU5131-Song Jiang's rank list HDU5135-Little Zu Chongzhi's Triangles(大佬写的)(代码

HDU 4352 XHXJ's LIS

HDU 5619 Jam's store

hdu 5620 KK's Steel(推理)

HDU 1517: kiki's game