#35803: why???


samlin961112@gmail.com (林哲甫)

學校 : 新北市私立南山高級中學
編號 : 220506
來源 : [219.70.213.92]
最後登入時間 :
2024-05-06 16:41:02
d406. 倒水時間 | From: [219.70.213.92] | 發表日期 : 2023-06-17 17:00

#include <bits/stdc++.h>
using namespace std;
int n, m;
int ttime;
int arr[1000][1000];
void s1(int n,int m, int time) {
  if (arr[n][m] == 1) {
    arr[n][m] = time;
    time += 1;
    if (arr[n + 1][m] == 1) {
      s1(n + 1,m, time);
    }
    if (arr[n][m+1] == 1) {
      s1(n,m+1, time);
    }
    if (arr[n][m-1] == 1) {
      s1(n,m-1, time);
    }
  }
}
void s2(int n,int m, int time) {
  if (arr[n][m] == 1) {
    arr[n][m] = time;
    time += 1;
    if (arr[n + 1][m] == 1) {
      s2(n + 1,m, time);
    }
    if (arr[n][m+1] == 1) {
      s2(n,m+1, time);
    }
    if (arr[n][m-1] == 1) {
      s2(n,m-1, time);
    }
    if (n>1&&arr[n-1][m] == 1) {
      s2(n-1,m, time);
    }
  }
}
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie();
  int casee=1;
  int s;
  while (cin >> s) {
    ttime = 1;

    cin >> n >> m;

    for (int i = 0; i < n; i++) {
      for (int j = 0; j < m; j++) {
        cin >> arr[i][j];
      }
    }
    if (s == 2) {
      for(int i=0;i<m;i++){
        s1(0,i, ttime);
                          }
      
    } else {
      for(int i=0;i<m;i++){
        s2(0,i, ttime);
        if(arr[0][i]!=0){
          arr[0][i]=1;
        }
                          }
    }
    cout<<"Case "<<casee<<":\n";
    for (int i = 0; i < n; i++) {
      for (int j = 0; j < m; j++) {
        if(arr[i][j]==1&&i!=0){
          arr[i][j]=0;
        }
        cout << arr[i][j]<<" ";
      }
      cout << endl;
    }
    casee++;
  }
}

 
#35914: Re: why???


cges30901 (cges30901)

學校 : 不指定學校
編號 : 30877
來源 : [101.136.203.77]
最後登入時間 :
2024-04-07 15:34:14
d406. 倒水時間 | From: [39.15.2.77] | 發表日期 : 2023-06-24 09:26

#include
using namespace std;
int n, m;
int ttime;
int arr[1000][1000];
void s1(int n,int m, int time) {
  if (arr[n][m] == 1) {
    arr[n][m] = time;
    time += 1;
    if (arr[n + 1][m] == 1) {
      s1(n + 1,m, time);
    }
    if (arr[n][m+1] == 1) {
      s1(n,m+1, time);
    }
    if (arr[n][m-1] == 1) {
      s1(n,m-1, time);
    }
  }
}
void s2(int n,int m, int time) {
  if (arr[n][m] == 1) {
    arr[n][m] = time;
    time += 1;
    if (arr[n + 1][m] == 1) {
      s2(n + 1,m, time);
    }
    if (arr[n][m+1] == 1) {
      s2(n,m+1, time);
    }
    if (arr[n][m-1] == 1) {
      s2(n,m-1, time);
    }
    if (n>1&&arr[n-1][m] == 1) {
      s2(n-1,m, time);
    }
  }
}
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie();
  int casee=1;
  int s;
  while (cin >> s) {
    ttime = 1;

    cin >> n >> m;

    for (int i = 0; i < n; i++) {
      for (int j = 0; j < m; j++) {
        cin >> arr[i][j];
      }
    }
    if (s == 2) {
      for(int i=0;i
        s1(0,i, ttime);
                          }
      
    } else {
      for(int i=0;i
        s2(0,i, ttime);
        if(arr[0][i]!=0){
          arr[0][i]=1;
        }
                          }
    }
    cout<<"Case "<    for (int i = 0; i < n; i++) {
      for (int j = 0; j < m; j++) {
        if(arr[i][j]==1&&i!=0){
          arr[i][j]=0;
        }
        cout << arr[i][j]<<" ";
      }
      cout << endl;
    }
    casee++;
  }
}


水管可能會繞一個圈

 
#36852: Re: why???


samlin961112@gmail.com (林哲甫)

學校 : 新北市私立南山高級中學
編號 : 220506
來源 : [219.70.213.92]
最後登入時間 :
2024-05-06 16:41:02
d406. 倒水時間 | From: [219.70.213.92] | 發表日期 : 2023-08-11 20:47

#include
using namespace std;
int n, m;
int ttime;
int arr[1000][1000];
void s1(int n,int m, int time) {
  if (arr[n][m] == 1) {
    arr[n][m] = time;
    time += 1;
    if (arr[n + 1][m] == 1) {
      s1(n + 1,m, time);
    }
    if (arr[n][m+1] == 1) {
      s1(n,m+1, time);
    }
    if (arr[n][m-1] == 1) {
      s1(n,m-1, time);
    }
  }
}
void s2(int n,int m, int time) {
  if (arr[n][m] == 1) {
    arr[n][m] = time;
    time += 1;
    if (arr[n + 1][m] == 1) {
      s2(n + 1,m, time);
    }
    if (arr[n][m+1] == 1) {
      s2(n,m+1, time);
    }
    if (arr[n][m-1] == 1) {
      s2(n,m-1, time);
    }
    if (n>1&&arr[n-1][m] == 1) {
      s2(n-1,m, time);
    }
  }
}
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie();
  int casee=1;
  int s;
  while (cin >> s) {
    ttime = 1;

    cin >> n >> m;

    for (int i = 0; i < n; i++) {
      for (int j = 0; j < m; j++) {
        cin >> arr[i][j];
      }
    }
    if (s == 2) {
      for(int i=0;i
        s1(0,i, ttime);
                          }
      
    } else {
      for(int i=0;i
        s2(0,i, ttime);
        if(arr[0][i]!=0){
          arr[0][i]=1;
        }
                          }
    }
    cout<<"Case "<    for (int i = 0; i < n; i++) {
      for (int j = 0; j < m; j++) {
        if(arr[i][j]==1&&i!=0){
          arr[i][j]=0;
        }
        cout << arr[i][j]<<" ";
      }
      cout << endl;
    }
    casee++;
  }
}


水管可能會繞一個圈

發現錯誤了,謝謝大神

 
ZeroJudge Forum