有N个硬币(6<=N<=30)正面朝上排成一排,每次将5个硬币翻过来放在原位置,直到最后全部硬币翻成反面朝上为止。编程让计算机找出步数最少的翻法。输出步数。
这是一道傻题,绵羊竟然去宽搜,真搞不懂他在干什么,我的代码很简单。
#include <bits/stdc++.h>
using namespace std;
int main(){
int n;
cin>>n;
if(n==6){
cout<<6;//可恶的绵羊告诉我,翻5次的时候必须翻不同的棋子,于是就只能这样做了
return 0;
}
switch(n%5){
case 0:cout<<n/5;break;
case 1:cout<<n/5+1;break;
case 2:cout<<n/5+2;break;
case 3:cout<<n/5+3;break;
case 4:cout<<n/5+2;break;
}
return 0;
}