Nagrody jury za drugą rundę

07.03.2010

Nagrody niespodzianki wędrują do dwóch kolejnych autorów programów, które mogłyby być wzorcowymi rozwiązaniami do wybranych zadań drugiej rundy.

Dawid Dąbrowski, zadanie Zgadywanka:

#include <cstdio>
 
int main() {
	int ntc;
	scanf("%d",&ntc);
	while(ntc--) {
		int n,k;
		scanf("%d%d",&n,&k);
		int res=1;
		while(n>k) {
			++res;
			n=n/(k+1);
		}
		printf("%d\n",res);
	}
	return 0;
}

Konrad Cichy, zadanie Chomik:

#include <stdio.h>
#include <vector>
using namespace std;
 
struct puszka
{
	int jakosc;
	int swiezosc;
	int uzyc;	
};
 
int main()
{
	int Z;
	scanf("%d", &Z);
 
	while(Z--)
	{
		int N, M; //puszek, dni
		scanf("%d%d", &N, &M);
 
		vector<puszka> puszki(N);
		for(int i=0; i<N; i++)
		{
			scanf("%d%d%d", &puszki[i].swiezosc , &puszki[i].uzyc, &puszki[i].jakosc);
			puszki[i].swiezosc -= M;	
		}
 
		int S=0, naj, nr;
		while(M--)
		{
			naj = 0;
			nr = -1;
			for( int i=0 ; i<N ; i++ )
			{
				puszki[i].swiezosc++;
				if(puszki[i].jakosc > naj && puszki[i].swiezosc > 0 && puszki[i].uzyc)
				{
					naj = puszki[i].jakosc; 
					nr = i;
				}			
			}
			if(nr != -1)
				puszki[nr].uzyc--;		
			S+=naj;
		}
		printf("%d\n", S);			
	}
	return 0;	
}

 

Organizatorzy:

Wrocławski Portal Informatyczny Instytut Informatyki Uniwersytet Wrocławski Wrocław

Copyright © 2008-2010 Wrocławski Portal Informatyczny

design: rafalpolito.com