Submission #1365410

#TimeUsernameProblemLanguageResultExecution timeMemory
1365410weedywelonMonster-Go (EGOI25_monstergo)C++20
18 / 100
0 ms444 KiB
#include <algorithm>
#include <cmath>
#include <cstring>
#include <iostream>
#include <iomanip>
#include <limits.h>
#include <set>
#include <string>
#include <queue>
#include <stack>
#include <unordered_map>
#include <unordered_set>
#include <vector>
#include <deque>
#include <map>
#include <chrono>
#include <random>
#include <bitset>
#include <tuple>
#define SZ(x) int(x.size())
#define FR(i,a,b) for(int i=(a);i<(b);++i)
#define FOR(i,n) FR(i,0,n)
#define FAST ios::sync_with_stdio(0); cin.tie(0); cout.tie(0)
#define A first
#define B second
#define mp(a,b) make_pair(a,b)
typedef long long LL;
typedef long double LD;
typedef unsigned long long ULL;
typedef unsigned __int128 U128;
typedef __int128 I128;
typedef std::pair<int,int> PII;
typedef std::pair<LL,LL> PLL;
using namespace std;

vector<vector<LL> > chunk;
vector<vector<LL> > ans;
signed main(){
	FAST;
	LL n; cin>>n;
	
	if (n<=4){
		FOR(i,n){
			FOR(j,12) cout<<i*12+j<<" ";
			cout<<"\n";
		}
		return 0;
	}
	
	LL k=8;
	if (n==28) k=8;
	else if (n==21) k=7;
	else if (n==15) k=6;
	else if (n==10) k=5;
	else if (n==6) k=4;
	
	vector<LL> cur;
	FOR(i,50){
		cur.push_back(i);
		if (SZ(cur)==6){
			chunk.push_back(cur);
			cur.clear();
		}
	}
	
	 FOR(i,k) FR(j,i+1,k){
		 vector<LL> tmp;
		 for (LL x:chunk[i]) tmp.push_back(x);
		 for (LL x:chunk[j]) tmp.push_back(x);
		 ans.push_back(tmp);
	 }
	 
	 FOR(i,n){
		 FOR(j,12) cout<<ans[i][j]<<" ";
		 cout<<"\n";
	 }
	 return 0;
}
#Result Execution timeMemoryGrader output
Fetching results...