题目链接
https://vjudge.net/problem/CodeForces-979A
题意
输入n,让你把一个圆的pizza平均分成n+1份,且大小形状相同。问最少切几刀。
思路
要切成大小形状相同,那每一刀肯定都要过圆心。看样例可知五块需要切五刀,所以简单想一下就可以知道:
- 如果n是奇数,n+1是偶数,答案就是(n+1)/2
- 如果n是偶数,n+1是奇数,答案就是n+1
- 如果n是0,答案是0
最后一个n=0的情况很容易漏掉。
就这种情况让我hack了两个人,纪念人生中第一次hack成功hhh。
AC代码
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#include<cmath>
#include<vector>
#include<set>
#include<string>
#include<sstream>
#include<cctype>
#include<map>
#include<stack>
#include<queue>
#include<list>
#include<cstdlib>
#include<ctime>
using namespace std;
#define INF 0x3f3f3f3f
typedef long long ll;
int main()
{
// freopen("input.txt", "r", stdin);
// freopen("output.txt", "w", stdout);
ll n;
scanf("%I64d", &n);
n++;
if(n == 1)
printf("0\n");
else if(n % 2 == 0)
{
printf("%I64d\n", n / 2);
}
else
{
printf("%I64d\n", n);
}
return 0;
}