Решения задач acmp.ru
Главная
Вход
Регистрация
Вторник, 29.09.2020, 01:58Приветствую Вас Гость | RSS
Меню сайта

Категории раздела
Pascal [121]
C++ [76]

Поиск

Мини-чат
200

Легкий заработок!

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0

Форма входа

Главная » Файлы » C++

0600 Распознавание языка

Скачать файл можно после просмотра рекламы:

05.06.2012, 03:20
#include <stdio.h>
#include <memory.h>

int main()
{
char * s = new char [30000];
unsigned int n = 0;
unsigned int cnt0, cnt1, cnt2;
bool b0, b1, b2, res;

FILE * fin = fopen("input.txt", "r");
FILE * fout = fopen("output.txt", "wt");
fscanf(fin, "%d", &n);

for (int w = 0; w<n; w++)
{
memset(s, 0, sizeof(char)*30000);
cnt0 = 0; cnt1 = 0; cnt2 = 0;
b0 = true; b1 = false; b2 = false; res = true;

fscanf(fin, "%s", s);

for (int i = 0; i<30000; i++)
{
if (s[i] == '0') cnt0++;
if (s[i] == '1') cnt1++;
if (s[i] == '2') cnt2++;
}

if ((cnt0!=cnt1)||(cnt2!=cnt1)) 
res = false;
else
{
for (int i = 0; i<30000; i++)
{
if (s[i]=='0')
{
if (b1||b2) 
{
res = false;
break;
}
}

if (s[i]=='1')
{
if (b2) 
{
res = false;
break;
}
}

if (s[i]=='0') b0 = true;
if (s[i]=='1') b1 = true;
if (s[i]=='2') b2 = true;
}
}

if (res)
fprintf(fout, "YES\n");
else
fprintf(fout, "NO\n");
}

fclose(fin);
fclose(fout);
Категория: C++ | Добавил: shum
Просмотров: 884 | Загрузок: 0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Это интересно!


Copyright MyCorp © 2020