查看: 2105|回復: 7
打印 上一主題 下一主題

[解決] TOJ 119 / B. Brainwash

[複製鏈接]
  • TA的每日心情
    慵懶
    2015-4-10 14:18
  • 簽到天數: 78 天

    [LV.6]常住居民II

    176

    主題

    612

    帖子

    3959

    積分

    管理員

    Rank: 9Rank: 9Rank: 9

    積分
    3959

    台南一中資訊社新手達陣程式設計達人 - 2014

    樓主
    發表於 2014-12-6 22:12:40 | 顯示全部樓層

    回帖獎勵 +10

    [C++] 純文本查看 復制代碼
    #include<iostream>
    #include<algorithm> //背這一個比較通用,反正也是要背 
    //#include<utility>
    using namespace std;
    
    //陣列要宣告成常數大小,過大的陣列要放在全域變數 
    int data[200000];
    
    int main()
    {
        int N, T, a, b;
        bool quit = false;
        cin >> N;
        
        //不要這樣寫,這不符合現在C++的規範,如果N太大會RE給你看 
        //int data[N];
        
        //可以 從1開始放 更符合題目敘述 
        for (int i = 1; i <= N; i++)
            cin >> data[i];
        cin >> T;
        //for (int i = 0; i < T; i++)
        while(T--) // Advance
        {
            cin >> a >> b;
            if (quit == false)
            {
            	//中間夾7個檔案是相減大於7嗎? 
    			//AXXXXXXXB
    			//有人規定a<b嗎? 
    			if (b - a > 7) //WA 仔細思考 
    			{ 
    				quit = true;
    				break; //失敗直接離開while迴圈 
    			} 
    			else
    				swap (data[a], data[b]);
            }
        }
        if (quit == true)
        {
             cout << "I QUIT!\n";
    	}
        else
        {
            cout << "SORTED!\n";
        }
        for (int i = 1; i < N ; i++)
    		cout << data[i] << ' ';
    	cout << data[N] << '\n';
        return 0;
    }
    回復 支持 反對

    使用道具 檢舉

  • TA的每日心情
    慵懶
    2015-4-10 14:18
  • 簽到天數: 78 天

    [LV.6]常住居民II

    176

    主題

    612

    帖子

    3959

    積分

    管理員

    Rank: 9Rank: 9Rank: 9

    積分
    3959

    台南一中資訊社新手達陣程式設計達人 - 2014

    頭香
    發表於 2014-12-7 14:15:09 來自手機 | 顯示全部樓層
    不要用goto 參考我程式的寫法

    點評

    為什麼真的會有學弟在用goto啊...  發表於 2014-12-7 16:07
    回復 支持 反對

    使用道具 檢舉

    您需要登錄後才可以回帖 登入 | 加入我們

    本版積分規則

    快速回覆 返回頂部 返回列表