QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#830037#8940. Piggy SortQBFWA 0ms3992kbC++141.1kb2024-12-24 15:34:452024-12-24 15:34:46

Judging History

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

  • [2024-12-24 15:34:46]
  • 评测
  • 测评结果:WA
  • 用时:0ms
  • 内存:3992kb
  • [2024-12-24 15:34:45]
  • 提交

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<=m;++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: 0
Wrong Answer
time: 0ms
memory: 3992kb

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 
2 3 1 

result:

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