#31326: 救我一下吧!


jason096727@gmail.com (Jason Ho)

學校 : 高雄市苓雅區福東國民小學
編號 : 189939
來源 : [111.248.248.69]
最後登入時間 :
2024-10-23 21:12:20
b944. 好想上廁所(男廁篇) | From: [150.116.71.227] | 發表日期 : 2022-07-24 12:18

#include <bits/stdc++.h>

using namespace std;

int main()
{
    int n;
    cin >> n;
    int a, b, num[n+2]={0}, t[n+2]={0};
    while (cin >> a >> b){
        int b1=0;
        for (int i=1; i<=n; i++){
            if (t[i]==0 && t[i+1]==0 && t[i-1]==0){
                num[i] = a;
                t[i] = b;
                b1 = 1;
                break;
            }  
        }
        int b2;
        if (b1==0){
            b2 = 0;
            for (int i=1; i<=n; i++){
                if (t[i]==0){
                    num[i] = a;
                    t[i] = b;
                    b2 = 1;
                    break;
                }
            }
        }
        if (b2==0){
            cout << setw(12) << "Not enough" << '\n';
        }
        cout << "Number:";
        for (int j=1; j<=n; j++){
            cout << " " << num[j];
        }
        cout << '\n';
        cout << setw(7) << "Time:";
        for (int k=1; k<=n; k++){
            cout << " " << t[k];
        }
        cout << '\n';
        cout << '\n';
        for (int l=1; l<=n; l++){
            if (t[l]>0){
                t[l] = t[l]-1;
            }
        }
    }

    return 0;


}

 
#31346: Re: 救我一下吧!


cges30901 (cges30901)

學校 : 不指定學校
編號 : 30877
來源 : [111.71.216.22]
最後登入時間 :
2024-12-03 08:31:08
b944. 好想上廁所(男廁篇) | From: [106.64.130.232] | 發表日期 : 2022-07-25 10:11


        for (int l=1; l<=n; l++){
            if (t[l]>0){
                t[l] = t[l]-1;
            }
        }


最後這裡如果剩餘時間為0,使用者會離開,編號那邊就可以改成0

 
#31353: Re: 救我一下吧!


jason096727@gmail.com (Jason Ho)

學校 : 高雄市苓雅區福東國民小學
編號 : 189939
來源 : [111.248.248.69]
最後登入時間 :
2024-10-23 21:12:20
b944. 好想上廁所(男廁篇) | From: [150.116.71.227] | 發表日期 : 2022-07-25 17:00


        for (int l=1; l<=n; l++){
            if (t[l]>0){
                t[l] = t[l]-1;
            }
        }


最後這裡如果剩餘時間為0,使用者會離開,編號那邊就可以改成0

#include <bits/stdc++.h>

using namespace std;

int main()
{
    int n;
    cin >> n;
    int a, b, num[n+2]={0}, t[n+2]={0};
    while (cin >> a >> b){
        int b1=0;
        for (int i=1; i<=n; i++){
            if (t[i]==0 && t[i+1]==0 && t[i-1]==0){
                num[i] = a;
                t[i] = b;
                b1 = 1;
                break;
            }  
        }
        int b2;
        if (b1==0){
            b2 = 0;
            for (int i=1; i<=n; i++){
                if (t[i]==0){
                    num[i] = a;
                    t[i] = b;
                    b2 = 1;
                    break;
                }
            }
        }
        if (b2==0){
            cout << setw(12) << "Not enough" << '\n';
        }
        cout << "Number:";
        for (int j=1; j<=n; j++){
            if (t[j]==0){
                num[j] = 0;
            }
            cout << " " << num[j];
        }
        cout << '\n';
        cout << setw(7) << "Time:";
        for (int k=1; k<=n; k++){
            cout << " " << t[k];
        }
        cout << '\n';
        cout << '\n';
        for (int l=1; l<=n; l++){
            if (t[l]>0){
                t[l] = t[l]-1;
            }
        }
    }

    return 0;
}

 

我改成這樣還是沒過,我還有哪裡錯了嗎



 
#31356: Re: 救我一下吧!


cges30901 (cges30901)

學校 : 不指定學校
編號 : 30877
來源 : [111.71.216.22]
最後登入時間 :
2024-12-03 08:31:08
b944. 好想上廁所(男廁篇) | From: [59.115.10.122] | 發表日期 : 2022-07-25 20:24


        for (int l=1; l<=n; l++){
            if (t[l]>0){
                t[l] = t[l]-1;
            }
        }


最後這裡如果剩餘時間為0,使用者會離開,編號那邊就可以改成0

#include

using namespace std;

int main()
{
    int n;
    cin >> n;
    int a, b, num[n+2]={0}, t[n+2]={0};
    while (cin >> a >> b){
        int b1=0;
        for (int i=1; i<=n; i++){
            if (t[i]==0 && t[i+1]==0 && t[i-1]==0){
                num[i] = a;
                t[i] = b;
                b1 = 1;
                break;
            }  
        }
        int b2;
        if (b1==0){
            b2 = 0;
            for (int i=1; i<=n; i++){
                if (t[i]==0){
                    num[i] = a;
                    t[i] = b;
                    b2 = 1;
                    break;
                }
            }
        }
        if (b2==0){
            cout << setw(12) << "Not enough" << '\n';
        }
        cout << "Number:";
        for (int j=1; j<=n; j++){
            if (t[j]==0){
                num[j] = 0;
            }
            cout << " " << num[j];
        }
        cout << '\n';
        cout << setw(7) << "Time:";
        for (int k=1; k<=n; k++){
            cout << " " << t[k];
        }
        cout << '\n';
        cout << '\n';
        for (int l=1; l<=n; l++){
            if (t[l]>0){
                t[l] = t[l]-1;
            }
        }
    }

    return 0;
}

 

我改成這樣還是沒過,我還有哪裡錯了嗎




輸入說明:如果使用時間為0,依然會占用小便斗直到下一個人進來。

 

 
#31360: Re: 救我一下吧!


jason096727@gmail.com (Jason Ho)

學校 : 高雄市苓雅區福東國民小學
編號 : 189939
來源 : [111.248.248.69]
最後登入時間 :
2024-10-23 21:12:20
b944. 好想上廁所(男廁篇) | From: [150.116.71.227] | 發表日期 : 2022-07-26 12:18


        for (int l=1; l<=n; l++){
            if (t[l]>0){
                t[l] = t[l]-1;
            }
        }


最後這裡如果剩餘時間為0,使用者會離開,編號那邊就可以改成0

#include

using namespace std;

int main()
{
    int n;
    cin >> n;
    int a, b, num[n+2]={0}, t[n+2]={0};
    while (cin >> a >> b){
        int b1=0;
        for (int i=1; i<=n; i++){
            if (t[i]==0 && t[i+1]==0 && t[i-1]==0){
                num[i] = a;
                t[i] = b;
                b1 = 1;
                break;
            }  
        }
        int b2;
        if (b1==0){
            b2 = 0;
            for (int i=1; i<=n; i++){
                if (t[i]==0){
                    num[i] = a;
                    t[i] = b;
                    b2 = 1;
                    break;
                }
            }
        }
        if (b2==0){
            cout << setw(12) << "Not enough" << '\n';
        }
        cout << "Number:";
        for (int j=1; j<=n; j++){
            if (t[j]==0){
                num[j] = 0;
            }
            cout << " " << num[j];
        }
        cout << '\n';
        cout << setw(7) << "Time:";
        for (int k=1; k<=n; k++){
            cout << " " << t[k];
        }
        cout << '\n';
        cout << '\n';
        for (int l=1; l<=n; l++){
            if (t[l]>0){
                t[l] = t[l]-1;
            }
        }
    }

    return 0;
}

 

我改成這樣還是沒過,我還有哪裡錯了嗎




輸入說明:如果使用時間為0,依然會占用小便斗直到下一個人進來。

 

最後這裡如果剩餘時間為0,使用者會離開,編號那邊就可以改成0

輸入說明:如果使用時間為0,依然會占用小便斗直到下一個人進來。

可是這樣不就矛盾了嗎?

 
#31371: Re: 救我一下吧!


cges30901 (cges30901)

學校 : 不指定學校
編號 : 30877
來源 : [111.71.216.22]
最後登入時間 :
2024-12-03 08:31:08
b944. 好想上廁所(男廁篇) | From: [59.115.10.122] | 發表日期 : 2022-07-27 01:54


        for (int l=1; l<=n; l++){
            if (t[l]>0){
                t[l] = t[l]-1;
            }
        }


最後這裡如果剩餘時間為0,使用者會離開,編號那邊就可以改成0

#include

using namespace std;

int main()
{
    int n;
    cin >> n;
    int a, b, num[n+2]={0}, t[n+2]={0};
    while (cin >> a >> b){
        int b1=0;
        for (int i=1; i<=n; i++){
            if (t[i]==0 && t[i+1]==0 && t[i-1]==0){
                num[i] = a;
                t[i] = b;
                b1 = 1;
                break;
            }  
        }
        int b2;
        if (b1==0){
            b2 = 0;
            for (int i=1; i<=n; i++){
                if (t[i]==0){
                    num[i] = a;
                    t[i] = b;
                    b2 = 1;
                    break;
                }
            }
        }
        if (b2==0){
            cout << setw(12) << "Not enough" << '\n';
        }
        cout << "Number:";
        for (int j=1; j<=n; j++){
            if (t[j]==0){
                num[j] = 0;
            }
            cout << " " << num[j];
        }
        cout << '\n';
        cout << setw(7) << "Time:";
        for (int k=1; k<=n; k++){
            cout << " " << t[k];
        }
        cout << '\n';
        cout << '\n';
        for (int l=1; l<=n; l++){
            if (t[l]>0){
                t[l] = t[l]-1;
            }
        }
    }

    return 0;
}

 

我改成這樣還是沒過,我還有哪裡錯了嗎




輸入說明:如果使用時間為0,依然會占用小便斗直到下一個人進來。

 

最後這裡如果剩餘時間為0,使用者會離開,編號那邊就可以改成0

輸入說明:如果使用時間為0,依然會占用小便斗直到下一個人進來。

可是這樣不就矛盾了嗎?


我對題目的理解是:使用時間是指輸入裡面的b,剩餘時間是剩下的時間,兩個是不同的東西。

所以如果輸入的時間為0,當次輸出還是要把那個使用者的編號輸出,但是下次就不能再輸出了

 
#31380: Re: 救我一下吧!


jason096727@gmail.com (Jason Ho)

學校 : 高雄市苓雅區福東國民小學
編號 : 189939
來源 : [111.248.248.69]
最後登入時間 :
2024-10-23 21:12:20
b944. 好想上廁所(男廁篇) | From: [150.116.71.227] | 發表日期 : 2022-07-27 18:41


        for (int l=1; l<=n; l++){
            if (t[l]>0){
                t[l] = t[l]-1;
            }
        }


最後這裡如果剩餘時間為0,使用者會離開,編號那邊就可以改成0

#include

using namespace std;

int main()
{
    int n;
    cin >> n;
    int a, b, num[n+2]={0}, t[n+2]={0};
    while (cin >> a >> b){
        int b1=0;
        for (int i=1; i<=n; i++){
            if (t[i]==0 && t[i+1]==0 && t[i-1]==0){
                num[i] = a;
                t[i] = b;
                b1 = 1;
                break;
            }  
        }
        int b2;
        if (b1==0){
            b2 = 0;
            for (int i=1; i<=n; i++){
                if (t[i]==0){
                    num[i] = a;
                    t[i] = b;
                    b2 = 1;
                    break;
                }
            }
        }
        if (b2==0){
            cout << setw(12) << "Not enough" << '\n';
        }
        cout << "Number:";
        for (int j=1; j<=n; j++){
            if (t[j]==0){
                num[j] = 0;
            }
            cout << " " << num[j];
        }
        cout << '\n';
        cout << setw(7) << "Time:";
        for (int k=1; k<=n; k++){
            cout << " " << t[k];
        }
        cout << '\n';
        cout << '\n';
        for (int l=1; l<=n; l++){
            if (t[l]>0){
                t[l] = t[l]-1;
            }
        }
    }

    return 0;
}

 

我改成這樣還是沒過,我還有哪裡錯了嗎




輸入說明:如果使用時間為0,依然會占用小便斗直到下一個人進來。

 

最後這裡如果剩餘時間為0,使用者會離開,編號那邊就可以改成0

輸入說明:如果使用時間為0,依然會占用小便斗直到下一個人進來。

可是這樣不就矛盾了嗎?


我對題目的理解是:使用時間是指輸入裡面的b,剩餘時間是剩下的時間,兩個是不同的東西。

所以如果輸入的時間為0,當次輸出還是要把那個使用者的編號輸出,但是下次就不能再輸出了

👍

 
ZeroJudge Forum