QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#830010#8940. Piggy SortQBFWA 1ms4032kbC++141.1kb2024-12-24 15:28:072024-12-24 15:28:11

Judging History

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

  • [2024-12-24 15:28:11]
  • 评测
  • 测评结果:WA
  • 用时:1ms
  • 内存:4032kb
  • [2024-12-24 15:28:07]
  • 提交

answer

#include<bits/stdc++.h>
#define ci const int
#define ll long long
using namespace std;
ci N=505;
int n,m,x[N][N],v[N],id[N];
ll sum[N];
map<int,bool>mp[N];
bool vis[N];
inline bool cmp(ci x,ci y){
	return v[x]!=v[y]?v[x]<v[y]:x<y;
}
bool check(ci s,ci d){
	for(int i=3;i<=m;++i){
		ll val=(sum[i]-sum[1])*d;
		if(val%(sum[2]-sum[1])!=0)return 0;
		val/=sum[2]-sum[1],val+=s;
		if(mp[i].find(val)==mp[i].end())return 0;
	}
	return 1;
}
void Init(){
	for(int i=1;i<=n;++i)sum[i]=0,mp[i].clear(),vis[i]=0;
}
void Work(){
	scanf("%d%d",&n,&m);
	for(int i=1;i<=m;++i)
		for(int j=1;j<=n;++j)
			scanf("%d",&x[i][j]),sum[i]+=x[i][j],mp[i][x[i][j]]=1;
	if(sum[1]==sum[2]){
		for(int i=1;i<=n;++i)printf("%d ",i);
		puts("");
		return;
	}
	for(int i=1;i<=n;++i)
		for(int j=1;j<=n;++j)
			if(!vis[j]&&check(x[1][i],x[2][j]-x[1][i])){
				vis[j]=1,v[i]=x[2][j]-x[1][i];
				break;
			}
	for(int i=1;i<=n;++i)id[i]=i;
	sort(id+1,id+n+1,cmp);
	for(int i=1;i<=n;++i)printf("%d ",id[i]);
	puts("");
}
int main(){
	int T;scanf("%d",&T);
	while(T--)Work(),Init();
	return 0;
}

詳細信息

Test #1:

score: 100
Accepted
time: 0ms
memory: 3936kb

input:

3
2 4
1 2
3 4
5 6
7 8
1 2
1
1
3 4
1 2 3
6 9 9
10 15 17
12 18 21

output:

1 2 
1 
3 1 2 

result:

ok 3 lines

Test #2:

score: -100
Wrong Answer
time: 1ms
memory: 4032kb

input:

41
1 2
-19
9531
2 3
11 13
3175 4759
2211 3313
10 19
-54 -25 -19 -18 -1 3 61 63 85 88
-54 753 863 2397 3111 4649 4671 4756 5507 7762
-54 369 479 1245 1575 2345 2367 2452 2819 3922
-54 553 663 1797 2311 3449 3471 3556 4107 5762
-54 87 197 399 447 653 675 760 845 1102
-54 320 430 1098 1379 2051 2073 21...

output:

1 
2 1 
1 2 3 4 5 6 7 8 9 10 
1 2 3 4 5 6 7 8 9 
1 2 3 4 5 6 7 8 9 10 
1 2 3 4 5 6 7 8 9 10 
3 5 2 1 6 7 8 4 
9 10 3 5 2 1 6 7 8 4 
3 1 2 4 
9 3 1 2 4 5 6 7 8 
9 3 1 2 4 5 6 7 8 
9 3 1 2 4 5 6 7 8 
1 9 10 3 2 4 5 6 7 8 
1 9 10 3 2 4 5 6 7 8 
1 9 3 2 4 5 6 7 8 
1 9 3 2 4 5 6 7 8 
1 9 10 3 2 4 5 6 7 8...

result:

wrong answer 2nd lines differ - expected: '1 2', found: '2 1 '