#9662: 我也找不到錯在哪,第二個測資點錯誤


wemee (阿勇)

學校 : 國立北港高級中學
編號 : 4621
來源 : [220.135.3.103]
最後登入時間 :
2023-09-27 11:01:07
b298. 老闆阿我要退貨 -- 103學年度板橋高中校內資訊學科能力競賽(一) | From: [61.222.4.189] | 發表日期 : 2015-02-17 13:57

#include <stdio.h>

#include <stdlib.h>

int **ary; /*[ (0無問題,1有問題) , 上遊廠商編號 ], 位置0不使用*/

int check(int y){

    if(ary[y][0]==1) /* 有問題 */

        return 1;

    

    if(ary[y][1]!=0) /* 沒問題, 但有上游廠商 */

        return check(ary[y][1]);

    

    return 0; /* 沒問題, 也沒上游廠商 */

}

void init_ary(int N){

    int *pAry, i;

    ary = (int **)calloc(3*N, sizeof(int));

    for (i = 0, pAry = (int *)(ary+N); i < N; i++, pAry += 2)

        ary[i]=pAry;

}

int main(){

    int N,M,L,Q, i, a,b;

    while (scanf("%d%d%d%d", &N,&M,&L,&Q) != EOF) {

        init_ary(N+1); /*N+1: 位置0不使用*/

        

        for (i=0; i<M; i++) {

            scanf("%d%d", &a, &b);

            ary[b][1] = a;

        }

        for (i=0; i<L; i++) {

            scanf("%d", &a);

            ary[a][0] = 1;

        }

        for (i=0; i<Q; i++) {

            scanf("%d", &a);

            printf("%s\n", check(a)==1 ? "TUIHUOOOOOO" : "YA~~");

        }

        

        free(ary);

    }

    

    return 0;

 

}

 
#17767: Re:我也找不到錯在哪,第二個測資點錯誤


rexwu1104@gmail.com (黑雪公主 Black Lotus)

學校 : 新北市私立南山高級中學
編號 : 93041
來源 : [118.166.54.130]
最後登入時間 :
2022-06-06 20:48:09
b298. 老闆阿我要退貨 -- 103學年度板橋高中校內資訊學科能力競賽(一) | From: [111.240.84.42] | 發表日期 : 2019-05-19 19:08

#include

#include

 

int **ary; /*[ (0無問題,1有問題) , 上遊廠商編號 ], 位置0不使用*/

 

int check(int y){

    if(ary[y][0]==1) /* 有問題 */

        return 1;

    

    if(ary[y][1]!=0) /* 沒問題, 但有上游廠商 */

        return check(ary[y][1]);

    

    return 0; /* 沒問題, 也沒上游廠商 */

}

 

void init_ary(int N){

    int *pAry, i;

    ary = (int **)calloc(3*N, sizeof(int));

    for (i = 0, pAry = (int *)(ary+N); i < N; i++, pAry += 2)

        ary[i]=pAry;

}

 

int main(){

    int N,M,L,Q, i, a,b;

    while (scanf("%d%d%d%d", &N,&M,&L,&Q) != EOF) {

        init_ary(N+1); /*N+1: 位置0不使用*/

        

        for (i=0; i<M; i++) {

            scanf("%d%d", &a, &b);

            ary[b][1] = a;

        }

        for (i=0; i<L; i++) {

            scanf("%d", &a);

            ary[a][0] = 1;

        }

        for (i=0; i<Q; i++) {

            scanf("%d", &a);

            printf("%s\n", check(a)==1 ? "TUIHUOOOOOO" : "YA~~");

        }

        

        free(ary);

    }

    

    return 0;

 

}

#include<iostream>
using namespace std;
int main()
{
  long int a, b, c, d;
  while (cin >> a >> b >> c >> d) {
    long int m, n, f[b+2], h[b+2], i[a+2], ans, num1;
    for (m=0;m<b;m++) {
      cin >> f[m] >> h[m];
    }
    while (c--) {
      cin >> num1; i[num1]=1;
      while (1) {
        for (m=0;m<b;m++) {
          if (num1==f[m]) i[h[m]]=1;
          for (n=0;n<b;n++) {
            if (h[m]==f[n]&&i[h[m]]==1) i[h[n]]=1;
          }
        }
        break;
      }
    }
    while (d--) {
      cin >> ans;
      i[ans] ? cout << "TUIHUOOOOOO" << endl : cout << "YA~~" << endl;
    }
  }
}
我也找不到錯在哪



 
#17768: Re:我也找不到錯在哪,第二個測資點錯誤


ufve0704 (爬 我爬 我爬爬爬 有排行榜這種東西就是要爬 爬過我上面的那...)

學校 : 臺北市私立延平高級中學
編號 : 83268
來源 : [203.72.178.1]
最後登入時間 :
2023-10-30 13:02:50
b298. 老闆阿我要退貨 -- 103學年度板橋高中校內資訊學科能力競賽(一) | From: [114.42.218.217] | 發表日期 : 2019-05-19 19:45

#include

#include

 

int **ary; /*[ (0無問題,1有問題) , 上遊廠商編號 ], 位置0不使用*/

 

int check(int y){

    if(ary[y][0]==1) /* 有問題 */

        return 1;

    

    if(ary[y][1]!=0) /* 沒問題, 但有上游廠商 */

        return check(ary[y][1]);

    

    return 0; /* 沒問題, 也沒上游廠商 */

}

 

void init_ary(int N){

    int *pAry, i;

    ary = (int **)calloc(3*N, sizeof(int));

    for (i = 0, pAry = (int *)(ary+N); i < N; i++, pAry += 2)

        ary[i]=pAry;

}

 

int main(){

    int N,M,L,Q, i, a,b;

    while (scanf("%d%d%d%d", &N,&M,&L,&Q) != EOF) {

        init_ary(N+1); /*N+1: 位置0不使用*/

        

        for (i=0; i<M; i++) {

            scanf("%d%d", &a, &b);

            ary[b][1] = a;

        }

        for (i=0; i<L; i++) {

            scanf("%d", &a);

            ary[a][0] = 1;

        }

        for (i=0; i<Q; i++) {

            scanf("%d", &a);

            printf("%s\n", check(a)==1 ? "TUIHUOOOOOO" : "YA~~");

        }

        

        free(ary);

    }

    

    return 0;

 

}

#include<iostream>
using namespace std;
int main()
{
  long int a, b, c, d;
  while (cin >> a >> b >> c >> d) {
    long int m, n, f[b+2], h[b+2], i[a+2], ans, num1;
    for (m=0;m<b;m++) {
      cin >> f[m] >> h[m];
    }
    while (c--) {
      cin >> num1; i[num1]=1;
      while (1) {
        for (m=0;m<b;m++) {
          if (num1==f[m]) i[h[m]]=1;
          for (n=0;n<b;n++) {
            if (h[m]==f[n]&&i[h[m]]==1) i[h[n]]=1;
          }
        }
        break;
      }
    }
    while (d--) {
      cin >> ans;
      i[ans] ? cout << "TUIHUOOOOOO" << endl : cout << "YA~~" << endl;
    }
  }
}
我也找不到錯在哪



#include <bits/stdc++.h>
using namespace std;
int main(int argc, char** argv){
cin.tie(0);
ios::sync_with_stdio(false);
int a,b,c,d,k;
cin>>a>>b>>c>>d;
int e[a]={0},i[b]={0},j[b]={0};
for(int f=0;f<b;f++)
cin>>i[f]>>j[f];
for(int f=0;f<c;f++){
cin>>k;
e[k]=1;
}
for(int f=0;f<b;f++){
for(int k=0;k<b;k++)
if(e[i[k]]==1)
e[j[k]]=1;
}
for(int f=0;f<d;f++){
cin>>k;
if(e[k]==1)
cout<<"TUIHUOOOOOO"<<'\n';
else
cout<<"YA~~"<<'\n';
}
}
這是我的
可以參考看看




 
#17777: Re:我也找不到錯在哪,第二個測資點錯誤


rexwu1104@gmail.com (黑雪公主 Black Lotus)

學校 : 新北市私立南山高級中學
編號 : 93041
來源 : [118.166.54.130]
最後登入時間 :
2022-06-06 20:48:09
b298. 老闆阿我要退貨 -- 103學年度板橋高中校內資訊學科能力競賽(一) | From: [111.240.84.42] | 發表日期 : 2019-05-20 14:42

#include

#include

 

int **ary; /*[ (0無問題,1有問題) , 上遊廠商編號 ], 位置0不使用*/

 

int check(int y){

    if(ary[y][0]==1) /* 有問題 */

        return 1;

    

    if(ary[y][1]!=0) /* 沒問題, 但有上游廠商 */

        return check(ary[y][1]);

    

    return 0; /* 沒問題, 也沒上游廠商 */

}

 

void init_ary(int N){

    int *pAry, i;

    ary = (int **)calloc(3*N, sizeof(int));

    for (i = 0, pAry = (int *)(ary+N); i < N; i++, pAry += 2)

        ary[i]=pAry;

}

 

int main(){

    int N,M,L,Q, i, a,b;

    while (scanf("%d%d%d%d", &N,&M,&L,&Q) != EOF) {

        init_ary(N+1); /*N+1: 位置0不使用*/

        

        for (i=0; i<M; i++) {

            scanf("%d%d", &a, &b);

            ary[b][1] = a;

        }

        for (i=0; i<L; i++) {

            scanf("%d", &a);

            ary[a][0] = 1;

        }

        for (i=0; i<Q; i++) {

            scanf("%d", &a);

            printf("%s\n", check(a)==1 ? "TUIHUOOOOOO" : "YA~~");

        }

        

        free(ary);

    }

    

    return 0;

 

}

#include<iostream>
using namespace std;
int main()
{
  long int a, b, c, d;
  while (cin >> a >> b >> c >> d) {
    long int m, n, f[b+2], h[b+2], i[a+2], ans, num1;
    for (m=0;m<b;m++) {
      cin >> f[m] >> h[m];
    }
    while (c--) {
      cin >> num1; i[num1]=1;
      while (1) {
        for (m=0;m<b;m++) {
          if (num1==f[m]) i[h[m]]=1;
          for (n=0;n<b;n++) {
            if (h[m]==f[n]&&i[h[m]]==1) i[h[n]]=1;
          }
        }
        break;
      }
    }
    while (d--) {
      cin >> ans;
      i[ans] ? cout << "TUIHUOOOOOO" << endl : cout << "YA~~" << endl;
    }
  }
}
我也找不到錯在哪



#include <bits/stdc++.h>
using namespace std;
int main(int argc, char** argv){
cin.tie(0);
ios::sync_with_stdio(false);
int a,b,c,d,k;
cin>>a>>b>>c>>d;
int e[a]={0},i[b]={0},j[b]={0};<-----------請問這邊是什麼意思
for(int f=0;f<b;f++)
cin>>i[f]>>j[f];
for(int f=0;f<c;f++){
cin>>k;
e[k]=1;
}
for(int f=0;f<b;f++){
for(int k=0;k<b;k++)
if(e[i[k]]==1)
e[j[k]]=1;
}
for(int f=0;f<d;f++){
cin>>k;
if(e[k]==1)
cout<<"TUIHUOOOOOO"<<'\n';
else
cout<<"YA~~"<<'\n';
}
}
這是我的
可以參考看看







 
ZeroJudge Forum