Cod sursa(job #905907)

Utilizator DDeidaraSzasz Tamas Csaba DDeidara Data 6 martie 2013 12:01:10
Problema Cifra Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 kb
#include<cstdio>
#include<cstring>

int t;
char s[100];

const char k[10] = {'0','1','2','3','4','5','6','7','8','9'};
const int x[20] = {0,1,5,2,8,3,9,2,8,7,7,8,4,7,3,8,4,1,5,4};

int ctoi(char c)
{
	for (int i=0;i<10;i++)
		if (c==k[i]) return i;
	
	return 0;
};

int convert(char ss[100])
{
	if (strlen(ss)==1)
		return x[ctoi(ss[0])];
	else
	{
		int a = ctoi(ss[strlen(ss)-1]);
		int b = ctoi(ss[strlen(ss)-2]);
		
		int c = b*10 + a;
		
		return (c/20*4 + x[c%20])%10;
	}
	
	return 0;
};

int main()
{
	FILE*f;
	FILE*g;
	
	f = fopen("cifra.in","r");
	g = fopen("cifra.out","w");
	
	fscanf(f,"%d",&t);
	
	for (int i=1;i<=t;i++)
	{
		fscanf(f,"%s",s);
		
		fprintf(g,"%d\n",convert(s));
	}
	
}