标签:
给你一个
首先我们观察发现,
我们考虑构造一个方案使得有
首先如果第1个放了黑色珠子,那么第
我们假设第i个放黑色,那么我们就可以每次隔
然后我们发现从i出发最少进行
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <cmath>
#include <algorithm>
#include <iostream>
using namespace std;
int n;
int gcd(int a,int b)
{return a%b==0?b:gcd(b,a%b);}
int main()
{
scanf("%d",&n);
n=n/2+1;
int Gcd=gcd(n+1,2*n-1);
int L=(long long)(n+1)*(2*n-1)/Gcd/(n+1);
printf("%d",(2*n-1)/L*(L/2)+1);
return 0;
}
标签:
原文地址:http://blog.csdn.net/qq_21995319/article/details/45788905