QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#665898#5528. Least Annoying Constructive Problemlyx123886a123886WA 1ms3996kbC++141.3kb2024-10-22 15:46:222024-10-22 15:46:55

Judging History

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

  • [2024-10-22 15:46:55]
  • 评测
  • 测评结果:WA
  • 用时:1ms
  • 内存:3996kb
  • [2024-10-22 15:46:22]
  • 提交

answer

#include<bits/stdc++.h>
using namespace std;
template<class T> void chkmin(T &x,T y) {x=min(x,y);}
template<class T> void chkmax(T &x,T y) {x=max(x,y);}
using ll=long long;
using pi=pair<int,int>;
using vi=vector<int>;
using vp=vector<pi>;
using LL=__int128;
#define pb push_back
#define SZ(x) int(x.size())

#define rep(i,a,b) for(int i=(a);i<=(b);++i)
#define dec(i,a,b) for(int i=(a);i>=(b);--i)

#define LOCAL 0
#define open_file if(LOCAL) {freopen("qoj5528.in","r",stdin);freopen("qoj5528.out","w",stdout);}
#define look_time cerr<<(1.0*clock()/CLOCKS_PER_SEC)<<"\n";
#define fi first
#define se second

vp result;int n;
void adde(int x,int y) {
	x%=n,x+=n,x%=n,x++;
	y%=n,y+=n,y%=n,y++;
	result.pb({x,y});
}

int ab[100];

void solve() {
	scanf("%d",&n);
	if(n&1) {
		int bg=0;
		rep(times,1,n/2+1) {// v[0]~v[n-1]
			rep(i,0,n/2-1) {
				int x=bg-i,y=bg+1+i;
				adde(x,y);
			}
			if(times!=n/2+1) 
			rep(i,0,n/2-1) {
				int x=bg-1-i,y=bg+1+i;
				adde(x,y);
			}
			bg--;
		}
		assert(SZ(result)==n*(n-1)/2);
	}
	else {	
		int bg=0;
		rep(times,1,n/2) {
			rep(i,0,n/2-1)  {
				int x=bg-i,y=bg+1+i;
				adde(x,y);
			}
			rep(i,0,n/2-2) {
				int x=bg-1-i,y=bg+1+i;
				adde(x,y);
			}
			bg--;
		}
	}
	for(auto &i:result) printf("%d %d\n",i.fi,i.se);
}

int main() {
	open_file
	solve();
	look_time
	return 0;
}

详细

Test #1:

score: 0
Wrong Answer
time: 1ms
memory: 3996kb

input:

3

output:

1 2
3 2
3 1

result:

wrong answer Integer 2 violates the range [4, 3]