QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#605542#8940. Piggy SortqiuuuWA 1ms4184kbC++141.4kb2024-10-02 17:51:052024-10-02 17:51:06

Judging History

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

  • [2024-10-02 17:51:06]
  • 评测
  • 测评结果:WA
  • 用时:1ms
  • 内存:4184kb
  • [2024-10-02 17:51:05]
  • 提交

answer

#include<bits/stdc++.h>
using namespace std;
const int N=509;
int n,m,t,sum[N];
int a[N][N],ans[N];
bool vis[N][N];
pair<int,int> su[N];
int main()
{
	scanf("%d",&t);
	while(t--)
	{
		memset(vis,0,sizeof(vis));
		memset(sum,0,sizeof(sum));
		scanf("%d%d",&n,&m);
		for(int i=1;i<=m;i++)
		{
			for(int j=1;j<=n;j++)
				scanf("%d",&a[i][j]);
			for(int j=1;j<=n;j++)
				sum[i]+=a[i][j];
				
		}
		if(m==1||sum[1]==sum[2])
		{
			for(int i=1;i<=n;i++) printf("%d ",i);
			puts("");
			continue;
		}
		for(int i=1;i<=n;i++)
		{
			for(int j=1;j<=n;j++)
			{
				if(vis[2][j]) continue;
				long long x=a[2][j]-a[1][i],v=a[2][j];
				if(x<0) continue;
				int y=sum[2]-sum[1];
				int fg=0;
				for(int k=3;k<=m;k++)
				{
					if(x*(sum[k]-sum[k-1])%y) break;
					long long u=x*(sum[k]-sum[k-1])/y;
					v+=u;
					int uu=lower_bound(a[k]+1,a[k]+n+1,v)-a[k];
					int vv=upper_bound(a[k]+1,a[k]+n+1,v)-a[k];
					bool flg=0;
					for(int j=uu;j<vv;j++)
					{
						if(!vis[k][j])
						{
							vis[k][j]=1;
							flg=1;
							break;
						}
					}
					if(!flg) break;
					if(k==m) fg=1;
				}
				if(fg==1)
				{
					su[i]=make_pair(x,i);
					break;
				}
			}
		}
		sort(su+1,su+n+1);
		for(int i=1;i<=n;i++) ans[su[i].second]=i;
		for(int i=1;i<=n;i++) printf("%d ",ans[i]);
		puts("");
	}
	
}
/*
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

 */

詳細信息

Test #1:

score: 100
Accepted
time: 1ms
memory: 4080kb

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: 0ms
memory: 4184kb

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:

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

result:

wrong answer 1st lines differ - expected: '1', found: '0 '