QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#665898 | #5528. Least Annoying Constructive Problem | lyx123886a123886 | WA | 1ms | 3996kb | C++14 | 1.3kb | 2024-10-22 15:46:22 | 2024-10-22 15:46:55 |
Judging History
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]