ZOJ Problem Set - 2830 Champion of the Swordsmanship

Champion of the Swordsmanship

Time Limit: 2 Seconds       Memory Limit: 65536 KB

In Zhejiang University, there is a famous BBS named Freecity. Usually we call it 88.

Recently some students at the Humour board on 88 create a new game - Swordsmanship. Different from the common sword fights, this game can be held with three players playing together in a match. Only one player advances from the match while the other two are eliminated. Sometimes they also hold a two-player match if needed, but they always try to hold the tournament with as less matches as possible.

Input

The input contains several test cases. Each case is specified by one positive integer n (0 < n < 1000000000), indicating the number of players. Input is terminated by n=0.

Output

For each test case, output a single line with the least number of matches needed to decide the champion.

Sample Input

3
4
0

Sample Output

1
2


Author:  XUE, Zaiyue
Source:  Zhejiang University Local Contest 2007, Preliminary
  



分析:
水题。唯一需要注意的是:题目里有一句话:

Sometimes they also hold a two-player match if needed, but they always try to hold the tournament with as less matches as possible.(有时,如果有必要的话,也举行一场两人的比赛,但是他们通常尽量让比赛的场次达到最少),就是两个人的比赛只会在最后举行,之前如果有剩余两个人的话,直接让他们晋级。(貌似不太符合常理,但就是这样)



ac代码:

#include <iostream>
#include<cstdio>
using namespace std;


int main()
{
    int n;
    int a,b,c;
    while(scanf("%d",&n)&&n)
    {
        int sum=0;
        while(true)
        {
            if(n==1)
            {
                printf("%d\n",sum);
                break;
            }
            else if(n==2)
            {
                printf("%d\n",sum+1);
                break;
            }
            else
            {
                a=n/3;
                b=n%3;
                n=a+b;
                sum+=a;
            }
        }
    }
    return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值