竹園論壇

標題: 123 Fenestration [打印本頁]

作者: amoshuangyc    時間: 2014-8-19 18:45
標題: 123 Fenestration
本帖最後由 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 == '0') {
            if (i-1 >= 0 && out[i-1] == '0') {
                flag = true;
                break;
            }
            if (out == '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;
}






歡迎光臨 竹園論壇 (http://forum.tfcis.org/) Powered by Discuz! X3.2