Cod sursa(job #632296)

Utilizator VladberilaVladutz Vladberila Data 10 noiembrie 2011 20:47:55
Problema Tm Scor 100
Compilator cpp Status done
Runda arhiva-teme-fmi Marime 1.08 kb
#include <fstream>
#include <cstring>
using namespace std;
ifstream f("tm.in");
ofstream g("tm.out");
char s[1002];
int T,i,ok,oka,okb,nra,nrb,nrc,j,m;
void solve()
{
	f>>T;
	for(i=1;i<=T;i++)
	{
		f>>s;
		oka=okb=nra=nrb=nrc=0;
		ok=1;
		m=strlen(s);
		for(j=0;j<m-1 && ok;j++)
			if(s[j]=='a')
			{
				if(oka==1)
					ok=0;
				else
				    if(s[j+1]!='a')
					    if(s[j+1]!='b')
						    ok=0;
					    else
						    oka=1; //s-au terminat a-urile nu mai are voie sa apara
				nra++;
			}
			else
				if(s[j]=='b')
				{
					if(okb==1)
						ok=0;
					else
						if(s[j+1]!='b')
							if(s[j+1]!='c')
								ok=0;
							else
								okb=1; //s-au terminat b-urile nu mai are voie sa apara
					nrb++;
				}
				else
				{
					if(s[j+1]!='c')
						ok=0;
					nrc++;
				}
			
		if(s[m-1]=='c')
			nrc++;
		if(s[m-1]=='b')
			nrb++;
		if(s[m-1]=='a')
			nra++;
		if(ok)
			if(nra==nrb || nrb==nrc)
				g<<"DA\n";
			else
				g<<"NU\n";
		else
			g<<"NU\n";
	}
	f.close();
	g.close();
}
int main()
{
	solve();
	return 0;
}