Rezultati

Up. imeNalogaJezikRezultatČas oddaje
Jakub-2018 Zaletavanje C++ 0/100Napačen odgovor (WA) 19. apr '18 @ 20:03

Test Točke Porabljen spomin Porabljen čas Status
#1 14/14 1,469 MiB 0,000 s OK
#2 14/14 1,461 MiB 0,005 s OK
#3 14/14 1,496 MiB 0,000 s OK
#4 0/14 1,535 MiB 0,000 s Napačen odgovor
Tvoj izhod:
​6 30
15 30
5 30
1 30
18 30
Pravilen izhod:
​3 30
15 30
15 30
20 16
18 30
#5 0/14 1,547 MiB 0,000 s Napačen odgovor
Tvoj izhod:
​24 100
100 76
83 100
100 98
100 64
2 100
100 69
100 33
100 72
13 100
Pravilen izhod:
​24 100
100 76
83 100
100 98
100 64
100 66
100 69
100 33
100 36
13 100
#6 15/15 1,469 MiB 0,000 s OK
#7 0/15 1,535 MiB 0,005 s Napačen odgovor
Tvoj izhod:
​439 1000000000
648 1000000000
1000000000 543
197 1000000000
802 1000000000
Pravilen izhod:
​971 1000000000
1000000000 660
748 1000000000
403 1000000000
1000000000 531

Ocenjevani program (zaletavanje.cpp):
#include<stdio.h>
#include<stdlib.h>

struct tzaboj{
	int cs, st;
};

struct tavti{
	int w, h, zamen, povrst;
	char smer;
};

tavti avti[100];
tzaboj avto[100][100];

int comp(const void *a, const void *b){
	tzaboj *x = (tzaboj*)a, *y = (tzaboj*)b;
	return (y->cs-x->cs);
}

void zamenjave(int i){
	int a, b, c;
	a=avto[i][avti[i].zamen].st;
	b=avto[a][avti[a].zamen].st;
	//printf("a%d b%d i%d\n", a, b, i);
	if(b==i){
		//printf("%d %d\n", avti[a].povrst, avti[i].povrst);
		c=avti[a].povrst;
		avti[a].povrst=avti[i].povrst;
		avti[i].povrst=c;
		avti[a].zamen--;
		avti[i].zamen--;
		//printf("%d %d\n", avti[a].povrst, avti[i].povrst);
	}
	else zamenjave(a);
}

int main(){
	int jenic=0, n, w, h, i, j;
	scanf("%d %d %d%*c", &n, &w, &h);
	for(i=0;i<n;i++){
		scanf("%c %d %d%*c", &avti[i].smer, &avti[i].w, &avti[i].h);
		avti[i].zamen=0;
		avti[i].povrst=i;
	}
	for(i=0;i<n;i++){
		if(avti[i].smer=='D'){
			for(j=0;j<n;j++){
				if(avti[j].smer=='G'){
					if(avti[j].w-avti[i].w==avti[i].h-avti[j].h){
						avto[i][avti[i].zamen].st=j;
						avto[j][avti[j].zamen].st=i;
						avto[i][avti[i].zamen].cs=avti[j].w-avti[i].w;
						avto[j][avti[j].zamen].cs=avti[j].w-avti[i].w;
						avti[i].zamen++;
						avti[j].zamen++;
						//printf("ja\n");
					}
				}
			}
		}
	}
	for(i=0;i<n;i++){
		if(avti[i].zamen>1)	qsort(avto[i], avti[i].zamen, sizeof(struct tzaboj), comp);
		if(avti[i].smer=='G') avti[i].h=h;
		else avti[i].w=w;
		avti[i].zamen--;
	}
	/*for(i=0;i<n;i++){
		printf("%d. %d ", i, avti[i].zamen);
		for(j=0;j<=avti[i].zamen;j++) printf("[%d %d] ", avto[i][j].st, avto[i][j].cs);
		printf("\n");
	}*/
	//printf("%d\n", jenic);
	while(jenic<n){
		if(avti[jenic].zamen!=-1){
			zamenjave(jenic);
		}
		else jenic++;
	}
	for(i=0;i<n;i++){
		for(j=0;j<n;j++){
			if(avti[j].povrst==i) printf("%d %d\n", avti[j].w, avti[j].h);
		}
	}
	return 0;
}