yr87228755 2022-11-23 14:22 采纳率: 57.1%
浏览 6

c++洛谷P1038

#include<bits/stdc++.h>
using namespace std;
#define int long long 
#define vd void
#define bl bool
#define il inline
#define N 110
#define M 10010
il int read(){
    int x=0;
    bool w=1;
    char ch=getchar();
    while(ch<48||ch>57){
        if(ch==45) w=0;
        ch=getchar();
    }while(ch>47&&ch<58){
        x=(x<<3)+(x<<1)+(ch^48);
        ch=getchar();
    }
    return w?x:(-x);
}
il vd write(int x){
    if(x<0){
        putchar(45);
        x=-x;
    }
    if(x>9) write(x/10);
    putchar(x%10+48);
}
struct edge{
    int to,nxt,v;
}s[M];
int n=read(),m=read(),k[N],kt,a[N],b[N],tot,U[N],h[N],D[N],vis;
queue<int> q;
bl print=1; 
il vd lj(int l,int r,int w){
    tot++;
    s[tot].to=r;
    s[tot].v=w;
    s[tot].nxt=h[l];
    h[l]=tot;
}
signed main(){
    for(int i=1;i<=n;i++){
        a[i]=read(),b[i]=read();
//        if(a[i]!=0) b[i]=0;
//        else a[i]-=b[i];
    }
    while(m--){
        int x=read(),y=read(),w=read();
        lj(x,y,w); 
        U[y]++;
        D[x]++;
//        a[y]=0;
    }
    for(int i=1;i<=n;i++) if(!U[i]) q.push(i);
    while(!q.empty()){
        int x=q.front();
//        cout<<a[4]<<endl;
//        cout<<x<<endl;
        q.pop();
//        v[x]=0;
        if(!D[x]){
            if(a[x]!=0) print=0;
            if(a[x]>0) k[++kt]=x;
            continue;
        }
        if(a[x]<=0) continue;
        for(int i=h[x];i!=0;i=s[i].nxt){
            int t=s[i].to;
            a[t]+=s[i].v*a[x];
//            cout<<a[t]<<endl;
            U[t]--;
            D[x]--;
            if(!U[t]) q.push(t),a[t]-=b[t];
        }
    }
    if(!kt) puts("NULL");
    else{
        sort(k+1,k+1+kt);
        for(int i=1;i<=kt;i++){
            write(k[i]);
            putchar(32);
            write(a[k[i]]);
            putchar(10);
        }
    }
    return 0;
} 

80pts WA on 3th
我只是不明白我为什么会在第3个点错.

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2022-11-23 16:39
    关注
    评论

报告相同问题?

问题事件

  • 修改了问题 11月23日
  • 创建了问题 11月23日

悬赏问题

  • ¥15 无法输出helloworld
  • ¥15 高通uboot 打印ubi init err 22
  • ¥20 PDF元数据中的XMP媒体管理属性
  • ¥15 R语言中lasso回归报错
  • ¥15 网站突然不能访问了,上午还好好的
  • ¥15 有没有dl可以帮弄”我去图书馆”秒选道具和积分
  • ¥15 semrush,SEO,内嵌网站,api
  • ¥15 Stata:为什么reghdfe后的因变量没有被发现识别啊
  • ¥15 振荡电路,ADS仿真
  • ¥15 关于#c语言#的问题,请各位专家解答!