Submission #60284798


Source Code Expand

#include<bits/stdc++.h>
#include"atcoder/all"
using namespace std;
using namespace atcoder;
#define rep(i,n) for(int i=0;i<(n);i++)
#define all(a) a.begin(),a.end()
typedef long long ll;
typedef vector<ll> vi;
typedef pair<ll,ll> P;
const ll mod=1000000007;
const ll inf=1ll<<61;
typedef modint998244353 mi;

int a[100005],b[100005];
vector<int>G[100005];

int in_deg[100005];

vector<vector<int>>ans;

int n,m,k;
deque<int>Q;
bool impossible=false;

void dfs(vector<int>&vec){
	if(ans.size()==k)return;
	if(Q.empty()){
		if(vec.size()==n)ans.push_back(vec);
		else impossible=true;
		return;
	}
	rep(i,Q.size()){
		if(ans.size()==k||impossible)return;
		int v=Q.front();
		Q.pop_front();
		vec.push_back(v);
		for(auto &e:G[v]){
			in_deg[e]--;
			if(in_deg[e]==0)Q.push_back(e);
		}
		dfs(vec);
		for(auto &e:G[v]){
			in_deg[e]++;
			if(in_deg[e]==1)Q.pop_back();
		}
		Q.push_back(v);
		vec.pop_back();
	}
	return;
}

int main(){
	cin>>n>>m>>k;

	rep(i,m){
		cin>>a[i]>>b[i];
		a[i]--;b[i]--;
		G[a[i]].push_back(b[i]);
		in_deg[b[i]]++;
	}

	rep(i,n){
		if(in_deg[i]==0)Q.push_back(i);
	}

	vector<int>V;
	dfs(V);

	if(ans.size()>=k){
		rep(i,k){
			rep(j,n){
				if(j)cout<<" ";
				cout<<ans[i][j]+1;
			}cout<<endl;
		}
	}
	else{
		cout<<-1<<endl;
	}
}

Submission Info

Submission Time
Task 071 - Fuzzy Priority(★7)
User Rho17
Language C++ 20 (gcc 12.2)
Score 7
Code Size 1339 Byte
Status AC
Exec Time 118 ms
Memory 27224 KiB

Compile Error

Main.cpp: In function ‘void dfs(std::vector<int>&)’:
Main.cpp:26:22: warning: comparison of integer expressions of different signedness: ‘std::vector<std::vector<int> >::size_type’ {aka ‘long unsigned int’} and ‘int’ [-Wsign-compare]
   26 |         if(ans.size()==k)return;
      |            ~~~~~~~~~~^~~
Main.cpp:28:30: warning: comparison of integer expressions of different signedness: ‘std::vector<int>::size_type’ {aka ‘long unsigned int’} and ‘int’ [-Wsign-compare]
   28 |                 if(vec.size()==n)ans.push_back(vec);
      |                    ~~~~~~~~~~^~~
Main.cpp:5:31: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::deque<int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
    5 | #define rep(i,n) for(int i=0;i<(n);i++)
      |                               ^
Main.cpp:32:9: note: in expansion of macro ‘rep’
   32 |         rep(i,Q.size()){
      |         ^~~
Main.cpp:33:30: warning: comparison of integer expressions of different signedness: ‘std::vector<std::vector<int> >::size_type’ {aka ‘long unsigned int’} and ‘int’ [-Wsign-compare]
   33 |                 if(ans.size()==k||impossible)return;
      |                    ~~~~~~~~~~^~~
Main.cpp: In function ‘int main()’:
Main.cpp:69:22: warning: comparison of integer expressions of different signedness: ‘std::vector<std::vector<int> >::size_type’ {aka ‘long unsigned int’} and ‘int’ [-Wsign-compare]
   69 |         if(ans.size()>=k){
      |            ~~~~~~~~~~^~~

Judge Result

Set Name Sample Subtask1 Subtask2 Subtask3
Score / Max Score 0 / 0 2 / 2 3 / 3 2 / 2
Status
AC × 3
AC × 23
AC × 15
AC × 47
Set Name Test Cases
Sample 01_subtask1_sample_01.txt, 01_subtask1_sample_03.txt, 01_subtask1_subtask2_sample_02.txt
Subtask1 01_subtask1_sample_01.txt, 01_subtask1_sample_03.txt, 01_subtask1_subtask2_sample_02.txt, 02_subtask1_fixed_02.txt, 02_subtask1_fixed_03.txt, 02_subtask1_subtask2_fixed_01.txt, 03_subtask1_random_01.txt, 03_subtask1_random_02.txt, 03_subtask1_random_03.txt, 03_subtask1_random_04.txt, 03_subtask1_random_05.txt, 03_subtask1_random_06.txt, 03_subtask1_random_07.txt, 03_subtask1_random_08.txt, 03_subtask1_random_09.txt, 04_subtask1_dots_01.txt, 04_subtask1_line_02.txt, 04_subtask1_line_03.txt, 04_subtask1_line_04.txt, 04_subtask1_line_05.txt, 04_subtask1_subtask2_cycle_01.txt, 04_subtask1_subtask2_cycle_02.txt, 04_subtask1_subtask2_line_01.txt
Subtask2 01_subtask1_subtask2_sample_02.txt, 02_subtask1_subtask2_fixed_01.txt, 04_subtask1_subtask2_cycle_01.txt, 04_subtask1_subtask2_cycle_02.txt, 04_subtask1_subtask2_line_01.txt, 05_subtask2_random_01.txt, 05_subtask2_random_02.txt, 05_subtask2_random_03.txt, 05_subtask2_random_04.txt, 05_subtask2_random_05.txt, 05_subtask2_random_06.txt, 05_subtask2_random_07.txt, 07_subtask2_cycle_01.txt, 07_subtask2_cycle_02.txt, 07_subtask2_line_01.txt
Subtask3 01_subtask1_sample_01.txt, 01_subtask1_sample_03.txt, 01_subtask1_subtask2_sample_02.txt, 02_subtask1_fixed_02.txt, 02_subtask1_fixed_03.txt, 02_subtask1_subtask2_fixed_01.txt, 03_subtask1_random_01.txt, 03_subtask1_random_02.txt, 03_subtask1_random_03.txt, 03_subtask1_random_04.txt, 03_subtask1_random_05.txt, 03_subtask1_random_06.txt, 03_subtask1_random_07.txt, 03_subtask1_random_08.txt, 03_subtask1_random_09.txt, 04_subtask1_dots_01.txt, 04_subtask1_line_02.txt, 04_subtask1_line_03.txt, 04_subtask1_line_04.txt, 04_subtask1_line_05.txt, 04_subtask1_subtask2_cycle_01.txt, 04_subtask1_subtask2_cycle_02.txt, 04_subtask1_subtask2_line_01.txt, 05_subtask2_random_01.txt, 05_subtask2_random_02.txt, 05_subtask2_random_03.txt, 05_subtask2_random_04.txt, 05_subtask2_random_05.txt, 05_subtask2_random_06.txt, 05_subtask2_random_07.txt, 06_random_01.txt, 06_random_02.txt, 06_random_03.txt, 06_random_04.txt, 06_random_05.txt, 06_random_06.txt, 06_random_07.txt, 06_random_08.txt, 06_random_09.txt, 07_dots_01.txt, 07_line_02.txt, 07_line_03.txt, 07_line_04.txt, 07_line_05.txt, 07_subtask2_cycle_01.txt, 07_subtask2_cycle_02.txt, 07_subtask2_line_01.txt
Case Name Status Exec Time Memory
01_subtask1_sample_01.txt AC 3 ms 3512 KiB
01_subtask1_sample_03.txt AC 1 ms 3604 KiB
01_subtask1_subtask2_sample_02.txt AC 1 ms 3516 KiB
02_subtask1_fixed_02.txt AC 1 ms 3448 KiB
02_subtask1_fixed_03.txt AC 1 ms 3616 KiB
02_subtask1_subtask2_fixed_01.txt AC 1 ms 3672 KiB
03_subtask1_random_01.txt AC 27 ms 5284 KiB
03_subtask1_random_02.txt AC 2 ms 3900 KiB
03_subtask1_random_03.txt AC 4 ms 3856 KiB
03_subtask1_random_04.txt AC 2 ms 3792 KiB
03_subtask1_random_05.txt AC 2 ms 3676 KiB
03_subtask1_random_06.txt AC 2 ms 3740 KiB
03_subtask1_random_07.txt AC 4 ms 3872 KiB
03_subtask1_random_08.txt AC 2 ms 3656 KiB
03_subtask1_random_09.txt AC 26 ms 4944 KiB
04_subtask1_dots_01.txt AC 2 ms 3840 KiB
04_subtask1_line_02.txt AC 2 ms 3904 KiB
04_subtask1_line_03.txt AC 2 ms 3716 KiB
04_subtask1_line_04.txt AC 2 ms 3660 KiB
04_subtask1_line_05.txt AC 2 ms 3744 KiB
04_subtask1_subtask2_cycle_01.txt AC 2 ms 3532 KiB
04_subtask1_subtask2_cycle_02.txt AC 1 ms 3644 KiB
04_subtask1_subtask2_line_01.txt AC 2 ms 3740 KiB
05_subtask2_random_01.txt AC 60 ms 20476 KiB
05_subtask2_random_02.txt AC 50 ms 17576 KiB
05_subtask2_random_03.txt AC 33 ms 14804 KiB
05_subtask2_random_04.txt AC 45 ms 16544 KiB
05_subtask2_random_05.txt AC 31 ms 12788 KiB
05_subtask2_random_06.txt AC 51 ms 19964 KiB
05_subtask2_random_07.txt AC 39 ms 13928 KiB
06_random_01.txt AC 118 ms 27224 KiB
06_random_02.txt AC 56 ms 14760 KiB
06_random_03.txt AC 72 ms 19416 KiB
06_random_04.txt AC 59 ms 15132 KiB
06_random_05.txt AC 76 ms 18132 KiB
06_random_06.txt AC 43 ms 19192 KiB
06_random_07.txt AC 71 ms 17728 KiB
06_random_08.txt AC 40 ms 16984 KiB
06_random_09.txt AC 53 ms 20008 KiB
07_dots_01.txt AC 72 ms 22188 KiB
07_line_02.txt AC 118 ms 19480 KiB
07_line_03.txt AC 101 ms 25400 KiB
07_line_04.txt AC 39 ms 16440 KiB
07_line_05.txt AC 56 ms 19244 KiB
07_subtask2_cycle_01.txt AC 27 ms 8248 KiB
07_subtask2_cycle_02.txt AC 22 ms 8204 KiB
07_subtask2_line_01.txt AC 41 ms 16440 KiB