| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
谁能告诉我 为什么错?这道题目我在zoj和这里都过不了 郁闷1个晚上 是不是找2行数中 每个数最后一次出现的位置呢?我觉得是的 再qsort
但是一直错。 郁闷啊。求救,谢谢各位。
#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cstring>
using namespace std;
const int size=sizeof(int);
int p[210002];//记录某种牌最晚出现轮数
int h[200002]; //工作数组
int cmp(const void *a,const void *b) {
return *(int *) a-*(int *) b;
}
int main() {
int z,num,m,n,i,x,t;
for (scanf("%d",&z);z>0;--z) {
scanf("%d%d",&n,&m);
memset(p,0,sizeof(p));
for (i=0;i<n;++i) {
scanf("%d",&x);
h[i]=i;
p[x]=i+1;
}
num=n;
for (i=0;i<m;++i) {
scanf("%d",&x);
t=p[x];
if (t==0)
h[num++]=i;
else if (i+1>t)
h[t-1]=i;
}
qsort(h,num,size,cmp);
for (i=0;i<num;++i)
if (h[i]>i)
break;
printf("%s\n",(i<num)?"Spatne usporadani.":"Hrac ma sanci vyhrat.");
}
return 0;
}
Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator