QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#784670#1774. Customs Controlswjy2020WA 3ms17968kbC++116.7kb2024-11-26 15:40:482024-11-26 15:40:49

Judging History

你现在查看的是最新测评结果

  • [2024-11-26 15:40:49]
  • 评测
  • 测评结果:WA
  • 用时:3ms
  • 内存:17968kb
  • [2024-11-26 15:40:48]
  • 提交

answer

#include<bits/stdc++.h>
using namespace std;
// #define int long long
#define sfor(i,j,k) for(register int i=j;i<=k;++i)
#define dfor(i,j,k) for(register int i=k;i>=j;--i)
inline int read(){
    register int x = 0, t = 1;
    register char ch=getchar();
    while(ch<'0'||ch>'9'){
        if(ch=='-')
            t=-1;
        ch=getchar();
    }
    while(ch>='0'&&ch<='9'){
        x=(x<<1)+(x<<3)+(ch^48);
        ch=getchar();
    }
    return x*t;
}
inline void write(int x)
{
    if(x<0){
    	putchar('-');
		x=-x;
	}
    if(x>9)
		write(x/10);
    putchar(x%10+'0');
}
int nxt[1200005],head[1200005],tto[1200005],tt;
void add(int x,int y)
  {tto[++tt]=y;
   nxt[tt]=head[x];
   head[x]=tt;
  }
int f[1200005],dis[2][1200005];
bool vis[1200005];
priority_queue<pair<int,int>,vector<pair<int,int> >,greater<pair<int,int> > >q;
void dijkstra(int zt,int s){
    memset(vis,0,sizeof(vis));
    q.push(make_pair(dis[zt][s],s));
    while(!q.empty()){
        int x=q.top().second;
        q.pop();
        if(vis[x]) continue;
        vis[x]=1;
        for(int i = head[x];i;i=nxt[i])
          { int v=tto[i],w=f[tto[i]];
            if(dis[zt][v] > dis[zt][x] + w)
              {dis[zt][v] = dis[zt][x] + w;
               q.push(make_pair(dis[zt][v],v));}}
    }
}
bool iz[1200005];
int ans[1200005],cnt,n,m,k;
bool bl[1200005];
bool check()
  {if(cnt<=k)
     {sfor(i,1,n) bl[i]=1;
	  sfor(i,1,cnt) bl[ans[i]]=0;
	  int now=k-cnt;
      sfor(i,1,n) if(bl[i]&&now) bl[i]=0,now--;
      return 1;
	 }
   if(cnt<=n-k)
     {sfor(i,1,cnt) bl[ans[i]]=1;
	  int now=n-k-cnt;
      sfor(i,1,n) if(!bl[i]&&now) bl[i]=1,now--;
      return 1;
	 }
   return 0;
  }
void putans()
  {sfor(i,1,n)
     {if(bl[i]) cout<<"P";
      else cout<<"U";}
   return;
  }
int main()
{
//freopen("catch.in","r",stdin);
//freopen("catch.out","w",stdout);
n=read(),m=read(),k=read();
if(n==2&&k==1) {cout<<"impossible"<<endl;return 0;}
int inn,jnn;
memset(dis,63,sizeof(dis));
sfor(i,1,n) f[i]=read();
sfor(i,1,m)
  {inn=read(),jnn=read();
   add(inn,jnn);
   add(jnn,inn);
  }
dis[0][1]=f[1],dis[1][n]=f[n];
dijkstra(0,1);
dijkstra(1,n);
sfor(i,1,n) if(dis[0][i]+dis[1][i]-f[i]==dis[0][n]) iz[i]=1;
cnt=1;
ans[cnt]=1;
for(int i=head[1];i;i=nxt[i]) if(iz[tto[i]]) ans[++cnt]=tto[i];
if(check()) {putans();return 0;}
cnt=1;
ans[cnt]=n;
for(int i=head[n];i;i=nxt[i]) if(iz[tto[i]]) ans[++cnt]=tto[i];
if(check()) {putans();return 0;}
cnt=1;
ans[cnt]=1;
sfor(i,1,n) bl[i]=1;
bl[1]=0;
for(int i=head[n];i;i=nxt[i])
  if(cnt<k) {ans[++cnt]=tto[i];bl[tto[i]]=0;}
putans();
}
/*
3 2 0
1 1 1
1 2
2 3

2 1 1
1 1
1 2

8 9 4
3 3 1 2 2 3 2 1
1 2
1 3
1 4
2 5
3 6
4 7
5 8
6 8
7 8
          ◢■◤
    ◢■■■◤     ◥◣
  ◢■■■■◣       ◥◣
  ◥■■◤◥◣         ■
    ◥◤    ◥◣       ■
      ◢◣    ◥◣   ◢
    ◢◤◥◣    ◥■◤
  ◢◤    ◥■■■■◣
◢◤                ◥◣
*/
//啊啊啊,为什么这么多bug!!!
//我才发现呢,人家Debug是写代码找bug
//感情我是写bug找代码呀
//priority_queue<int> q ;  //大根堆 堆顶最大
//priority_queue<int, vector<int>, greater<int> > q;  //小根堆
//He He He==hai hai hai
//你就是个锑棣
//又双叒叕
//ruo4zhuo2
//聪明人绝不能支持世界  ————鲁迅
//
//知识就是力量,法国是培根的 ————ZY
//
//我是一个经常笑的人,但我不是一个经常开心的人==我微笑不代表我快乐——ZY
//
//给你讲个笑话吧...
//
//话说当年我读二年级时与一个三年级的
//
//人吵架了,于是我叫来了我六年级的哥
//
//哥,他就叫来了他初一的哥哥;我又叫
//
//来了我初三的表哥,他却叫来了他高一
//
//的表哥,还好我表哥学习了田忌赛马这
//
//篇文章,最后由我来对战那个高一的...
//
//秦时明月汉时关
//
//万里长征人未还
//
//但使龙城飞将在
//
//轻舟已过万重山  __NB
//
//爷娘闻女来,出郭相扶将
//
//听君一席话,自挂东南枝
//
//419
//
//已递交
//
//300
//
//已通过
//
//2022.9.17 11:15
//
//# 月夜忆舍弟——子美
//
//戍鼓断人行,边秋一雁声
//
//露从今夜白,月是故乡明
//
//有弟皆分散,无家问死生
//
//寄书长不达,况乃未休兵
//
//壬辰虎年秋日抄————王子美
//
//[https://www.luogu.com.cn/problem/P8079](https://www.luogu.com.cn/problem/P8079)王浚懿 请问你会回溯吗?
//
//对了,每年的五月三十一日是国际禁烟日呢......
//
//黑化肥发挥飞花会挥发会发灰,灰化肥发黑挥发会发挥会飞花
//
//We are lying dragon and chicken.
//
//我们是正在撒谎的龙龙和鸡鸡 (我们是卧龙凤雏。。。)——括号翻译2022.11.19记
//
//冯晨曰:“你自己去看撒...”
//
//我裤子怎么湿漉漉的呀————嘉嘉
//
//这水怎么酸咪咪的呀————臻臻
//
//1:将自己的程序与数据放到同一目录中,这个目录最好只有英文,假设放在c:\aa
//
//2:将自己的程序写成文件输入输出,其中输出文件不要与标准答案文件同名了,假设你的输出为water1.ans,标准答案文件为water1.out
//
//文件输入输出,形如下
//freopen("water1.in","r",stdin);
//freopen("water1.ans","w",stdout);
//
//3:使用组合键ctrl+r,输入cmd,进入dos系统
//
//4:运行cd \
//   进入c盘根目录
//5:运行 cd aa
//  进入aa子目录
//
//6:运行fc water1.out water1.ans
//   对比这两个文件有什么不同
//
//JJYY曰:“”多刺激丫,万一以后能付河呢“”
//
//时代在召唤,菌菌在摆烂
//
//《马其顿大战大汉铁骑》--我有长枪,你过不来
//
//kirka.io??
//
//2022.11.4 LKD永别...
//
//学生永远比老师要强,学生比老师强,社会才会进步--
//王浚懿,请问你会欧拉定理吗?
//听取WA声一片
//青草池塘处处WA
//你就像桌上那份时事报,
//当时读新鲜,以后读怀念
//悲欢越来越远,
//可还是会小心翼翼地折好,安放
//https://www.luogu.com.cn/paste/zejsmuci摸?
//https://www.luogu.com.cn/paste/d1p4zttj
//馬樂我铥雷楼谋
//https://www.luogu.com.cn/user/706859
//https://csacademy.com/app/graph_editor/
//https://www.luogu.com.cn/discuss/567986?page=6摸?
//开数组又不要钱的,你开那么小干什么嘞————ZY
//做任何事,要掌握底层逻辑————ZY
//话说刚刚屏幕上落了一只苍蝇,然后我就习惯性的用鼠标去点它,结果发现点不掉(0v0)
//LJQ:糊题,时间有限,大(zhang)胆(kou)猜(jiu)想(lai)

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 0
Wrong Answer
time: 3ms
memory: 17968kb

input:

5 10 2
1 1 1 1 1
3 4
5 4
3 1
4 1
3 5
2 1
2 4
2 5
1 5
2 3

output:

UPPPU

result:

wrong answer invalid character