洛谷 P1146 【硬币翻转】题解

时间:2023-03-09 21:44:10
洛谷 P1146 【硬币翻转】题解

很久很久之前做过的一道题

翻n-1枚硬币,就是有一枚不翻,也可以理解为翻一枚

直接上程序,看程序说话

 #include<iostream>
using namespace std;
const int maxn=;
bool a[maxn];//a数组负责存储硬币的状态
int n;//n枚硬币
int main(){
cin>>n;
cout<<n<<endl;//因为相当于只翻一枚,所以翻n次即可
for(int i=;i<=n;i++){//i表示这是第几次翻
for(int j=;j<=n;j++)//表示当前翻得是第几枚硬币
if(j!=i){//如果不为第i枚
if(a[j])a[j]=;//1变成0
else a[j]=;//0变成1
}
cout<<a[j];//输出当前状态
}
cout<<endl;//别忘了换行
return ;
}

洛谷上的原版