趕快加入我們來參與討論吧!
您需要 登錄 才可以下載或查看,沒有帳號?加入我們
x
本帖最後由 amoshuangyc 於 2014-8-19 18:55 編輯
這題很簡單,歸納一下題目,就可以發現解法:
對於每個內層的「空格」,判斷其左前方、正前方、右前方(如果這些位置存在的話,例如有可能內層的空格在最右邊,這個空格就沒有右前方。)有沒有「空格」?若有一個以上,則蚊子可以進來,若一個空格也沒有,則蚊子進不來。
當然你也可能將內層、外層反過來判斷,即:對於每個外層的「空格」,判斷其左後方、正後方、右後方…………這樣不影響結果。
以下程式碼使用 string 來存資料,flag 代表蚊子進不進得來。一開始是進不來(flag = false),若那三個位置有任何一個空格,就可以把 flag 改成 true。
[C++] 純文本查看 復制代碼 #include <iostream>
using namespace std;
int main() {
ios::sync_with_stdio(false);
int N;
cin >> N;
string in, out;
cin >> out >> in;
bool flag = false;
for (int i=0; i<N; i++)
if (in[i] == '0') {
if (i-1 >= 0 && out[i-1] == '0') {
flag = true;
break;
}
if (out[i] == '0') {
flag = true;
break;
}
if (i+1 < N && out[i+1] == '0') {
flag = true;
break;
}
}
if (flag == false)
cout << "FENDED OFF!\n";
else
cout << "FENESTRATION FORTIFICATION FAILURE!\n";
return 0;
}
|