兩行,給出兩個由0、1組成的等長字串,表示當前/目標密碼鎖狀態,其中0代表凹,1代表凸。
輸出至少需要進行的按按鈕操作次數,如果無法實現轉變,則輸出impossible。
樣例輸入
011樣例輸出000
1
#include #include #include #include #include #include #include #include #include #define sf(a) scanf("%d\n",&a)
#define rep(i,a,b) for(i=a;i<=b;i++)
#define e 1e-8
using namespace std;
typedef long long ll;
const int inf=0x3f3f3f3f;
const ll mod=1e9+7;
const int idata=1e3+5;
int i,j,k;
int judge,flag;
//vectorstep(idata);
ll step[idata];
//int dp[idata];
//int valu[idata],wigh[idata];
ll n,m,t,x,y;
ll maxx=-inf,minn=inf;
ll cnt,len,ans=inf,sum;
priority_queue< int, vector, greater>q;
char s[idata];
int main()
strcpy(temp,s);
i=1,cnt=0;
while(temp[i]!='\0')//列舉第乙個燈不操作的情況
i++;
}if(temp[len-1]==ch[len-1])
ans=cnt;
strcpy(temp,s);
i=1,cnt=1;
temp[0]^=1;
temp[1]^=1;
while(temp[i]!='\0')//列舉操作第乙個燈的情況
i++;
}if(ch[len-1]==temp[len-1])
ans=min(ans,cnt);
if(ans!=inf)
cout
cout<<"impossible"
delete ch;
}return 0;
}
特殊密碼鎖
有一種特殊的二進位制密碼鎖,由n個相連的按鈕組成 n 30 按鈕有凹 凸兩種狀態,用手按按鈕會改變其狀態。然而讓人頭疼的是,當你按乙個按鈕時,跟它相鄰的兩個按鈕狀態也會反轉。當然,如果你按的是最左或者最右邊的按鈕,該按鈕只會影響到跟它相鄰的乙個按鈕。當前密碼鎖狀態已知,需要解決的問題是,你至少需要按...
特殊密碼鎖
總時間限制 1000ms 記憶體限制 1024kb 描述 有一種特殊的二進位制密碼鎖,由n個相連的按鈕組成 n 30 按鈕有凹 凸兩種狀態,用手按按鈕會改變其狀態。然而讓人頭疼的是,當你按乙個按鈕時,跟它相鄰的兩個按鈕狀態也會反轉。當然,如果你按的是最左或者最右邊的按鈕,該按鈕只會影響到跟它相鄰的乙...
特殊密碼鎖
例題四 特殊密碼鎖 描述有一種特殊的二進位制密碼鎖,由n個相連的按鈕組成 n 30 按鈕有凹 凸兩種狀態,用手按按鈕會改變其狀態。然而讓人頭疼的是,當你按乙個按鈕時,跟它相鄰的兩個按鈕狀態也會反轉。當然,如果你按的是最左或者最右邊的按鈕,該按鈕只會影響到跟它相鄰的乙個按鈕。當前密碼鎖狀態已知,需要解...