Submission #67475472
Source Code Expand
#include<bits/stdc++.h>
using namespace std;
int n,m,q;
int a[10005],b[10005],l[10005],r[10005];
vector<int> V[4000005],reV[4000005];
int pos(int i,int j,int p){
if(p==0) return (i-1)*(m+2)+j+1;
else return pos(i,j,0)+pos(n,m+1,0);
}
void add(int u,int v){
// cout<<u<<" "<<v<<"\n";
V[u].push_back(v);
reV[v].push_back(u);
}
int vis[4000005];
stack<int> S;
void dfs1(int u){
vis[u]=1;
for(int v:V[u]){
if(vis[v]) continue;
dfs1(v);
}
S.push(u);
}
int id[4000005];
void dfs2(int u,int t){
id[u]=t;
for(int v:reV[u]){
if(id[v]) continue;
dfs2(v,t);
}
}
int main(){
cin>>n>>m>>q;
for(int i=1;i<=q;i++){
cin>>a[i]>>b[i]>>l[i]>>r[i];
}
for(int i=1;i<=n;i++){
add(pos(i,0,0),pos(i,0,1));
add(pos(i,m+1,1),pos(i,m+1,0));
}
for(int i=1;i<=n;i++){
for(int j=0;j<=m+1;j++){
if(j!=0) add(pos(i,j,1),pos(i,j-1,1));
if(j!=m+1) add(pos(i,j,0),pos(i,j+1,0));
}
}
for(int i=1;i<=q;i++){
int A=a[i],B=b[i],L=l[i],R=r[i];
for(int j=0;j<=m+1;j++){
if(R-j+1<=m+1){
add(pos(A,j,1),pos(B,max(0,R-j+1),0));
add(pos(B,j,1),pos(A,max(0,R-j+1),0));
}
if(L-j+1>=0){
add(pos(A,j,0),pos(B,min(m+1,L-j+1),1));
add(pos(B,j,0),pos(A,min(m+1,L-j+1),1));
}
}
}
for(int i=1;i<=pos(n,m+1,1);i++){
if(!vis[i]) dfs1(i);
}
int cnt=0;
while(!S.empty()){
int u=S.top();
S.pop();
if(!id[u]) dfs2(u,++cnt);
}
for(int i=1;i<=n;i++){
for(int j=0;j<=m+1;j++){
if(id[pos(i,j,1)]==id[pos(i,j,0)]){
cout<<"-1\n";
return 0;
}
}
}
for(int i=1;i<=n;i++){
for(int j=0;j<=m;j++){
if(id[pos(i,j,1)] > id[pos(i,j,0)]&&
id[pos(i,j+1,1)]<=id[pos(i,j+1,0)]){
cout<<j<<" ";
break;
}
}
}
return 0;
}
Submission Info
| Submission Time |
|
| Task |
Ex - Constrained Sums |
| User |
george0929 |
| Language |
C++ 20 (gcc 12.2) |
| Score |
600 |
| Code Size |
1766 Byte |
| Status |
AC |
| Exec Time |
655 ms |
| Memory |
260920 KiB |
Judge Result
| Set Name |
Sample |
All |
| Score / Max Score |
0 / 0 |
600 / 600 |
| Status |
|
|
| Set Name |
Test Cases |
| Sample |
example0.txt, example1.txt |
| All |
example0.txt, example1.txt, handmade0.txt, handmade1.txt, random0.txt, random1.txt, random10.txt, random11.txt, random12.txt, random13.txt, random14.txt, random15.txt, random16.txt, random17.txt, random18.txt, random19.txt, random2.txt, random20.txt, random21.txt, random22.txt, random23.txt, random24.txt, random25.txt, random26.txt, random27.txt, random28.txt, random29.txt, random3.txt, random30.txt, random31.txt, random32.txt, random33.txt, random34.txt, random35.txt, random4.txt, random5.txt, random6.txt, random7.txt, random8.txt, random9.txt |
| Case Name |
Status |
Exec Time |
Memory |
| example0.txt |
AC |
30 ms |
3560 KiB |
| example1.txt |
AC |
30 ms |
3520 KiB |
| handmade0.txt |
AC |
30 ms |
3712 KiB |
| handmade1.txt |
AC |
30 ms |
3768 KiB |
| random0.txt |
AC |
399 ms |
186612 KiB |
| random1.txt |
AC |
423 ms |
203868 KiB |
| random10.txt |
AC |
310 ms |
215584 KiB |
| random11.txt |
AC |
588 ms |
204788 KiB |
| random12.txt |
AC |
487 ms |
237532 KiB |
| random13.txt |
AC |
504 ms |
249528 KiB |
| random14.txt |
AC |
456 ms |
213036 KiB |
| random15.txt |
AC |
482 ms |
219480 KiB |
| random16.txt |
AC |
349 ms |
220488 KiB |
| random17.txt |
AC |
503 ms |
209592 KiB |
| random18.txt |
AC |
502 ms |
239292 KiB |
| random19.txt |
AC |
522 ms |
244096 KiB |
| random2.txt |
AC |
446 ms |
205688 KiB |
| random20.txt |
AC |
514 ms |
242096 KiB |
| random21.txt |
AC |
477 ms |
220556 KiB |
| random22.txt |
AC |
354 ms |
230588 KiB |
| random23.txt |
AC |
473 ms |
203572 KiB |
| random24.txt |
AC |
411 ms |
244848 KiB |
| random25.txt |
AC |
420 ms |
250880 KiB |
| random26.txt |
AC |
413 ms |
242732 KiB |
| random27.txt |
AC |
436 ms |
257552 KiB |
| random28.txt |
AC |
308 ms |
196868 KiB |
| random29.txt |
AC |
437 ms |
260920 KiB |
| random3.txt |
AC |
425 ms |
195892 KiB |
| random30.txt |
AC |
442 ms |
199752 KiB |
| random31.txt |
AC |
457 ms |
205724 KiB |
| random32.txt |
AC |
484 ms |
206316 KiB |
| random33.txt |
AC |
488 ms |
210380 KiB |
| random34.txt |
AC |
298 ms |
203812 KiB |
| random35.txt |
AC |
655 ms |
223112 KiB |
| random4.txt |
AC |
292 ms |
201004 KiB |
| random5.txt |
AC |
547 ms |
198980 KiB |
| random6.txt |
AC |
433 ms |
209368 KiB |
| random7.txt |
AC |
454 ms |
214572 KiB |
| random8.txt |
AC |
459 ms |
214452 KiB |
| random9.txt |
AC |
481 ms |
225672 KiB |