巨弱新手全WA求助
  • 板块P1347 排序
  • 楼主leiwusi
  • 当前回复0
  • 已保存回复0
  • 发布时间2023/7/31 10:50
  • 上次更新2023/11/3 06:47:40
查看原帖
巨弱新手全WA求助
525038
leiwusi楼主2023/7/31 10:50

我真的是服了

样例全过,但是全部WA,不知道解决思路对不对,若思路正确,求调

#include<cstdio>
#include<queue>
#include<map>
#include<string>
#include<iostream>
#define MAXN 30
using namespace std;

int ls[MAXN][MAXN] = {0};
int k,sum = 0,cnt2 = 0;
map<int,int> p;
queue<int> list;
string paixu;

int panduanhang(int i,int n){
    for(int j = 0;j<n;j++){
        
        if(ls[j][i] == 1) return 1; 
    }

    list.push(i);
    cnt2++;
    return 0;
}

void dengyu0(int i,int n){
        for(int j = 0;j<n;j++){
            if(ls[i][j] == 1)
            {
                ls[i][j] = 0;
                panduanhang(j,n);
                }
    }
}

bool bukong(int n){
    for(int i = 0;i<n;i++){
        for(int j = 0;j<n;j++){
            if(ls[i][j] == 1) return true;
        }
    }
    return false;
}


bool check(int n){
    for(int i = 0;i<n;i++){
        for(int j = 0;j<n;j++){
            if(ls[i][j] == 1) return false;
        }
        
    }
    return true;
}
int main(){
   int n,m;//n 为字母数量,即为数组边界 ; m 是操作次数
    scanf("%d%d",&n,&m);
    
    char a,b,c;
    int a1,b1,c1;
    for(int i = 0 ;i<m;i++){

        cin>>a>>c>>b;
        
        a1 = a - 'A';b1 = b - 'A';
        ls[a1][b1] = 1;
    }

    
    int cnt = 0;
    int lalala114514 = 0;
    while(panduanhang(lalala114514,n))
    {
        lalala114514++;
        }
    // cout<<lalala114514<<endl;
    // cout<<list.front()<<endl;
    while(paixu.size() < n && !list.empty()){
        // cout<<list.front()<<endl;
        // cout<<cnt<<endl;

        paixu += (char)(list.front()+65);
        
        dengyu0(list.front(),n);
        list.pop();
        cnt++;
    }


    if(paixu.size() == n){
        printf("%s%d%s%s%c\n","Sorted sequence determined after ",cnt," relations: ",paixu.c_str(),'.');
        return 0;
    }
    if(bukong(n)&&paixu.size()<n){
        printf("%s%d%s\n","Inconsistency found after ",lalala114514," relations.");
        return 0;
    }
    printf("%s\n","Sorted sequence cannot be determined.");
    return 0;

}













这个题目输出好阴间啊

2023/7/31 10:50
加载中...