Отримання знань
дистанційна підтримка освіти школярів
Игра "Сет"
Входные данные
Выходные данные
Пример входных данных
Пример выходных данных
Анализ условия и обсуждение идеи решения
Пример решения на C++:
#include "iostream"
#include "string.h"
using namespace std;
char card[1000][20];
bool judge (int i,int j,int k) {
int p;
for(p=0; p < 4; p++)
if(!(
card[i][p] == card[j][p] && card[i][p] == card[k][p] && card[j][p] == card[k][p] ||
card[i][p] != card[j][p] && card[i][p] != card[k][p] && card[j][p] != card[k][p]
)) return false;
return true; }
int main() {
int n;
do{
n=0;
cin.getline(card[n++],100);
if(!cin)break;
while(strlen(card[n-1])==4) cin.getline(card[n++],100);
n--;
int i,j,k,num;
num=0;
cout << "CARDS: ";
for(i=0; i < n; i++) cout <<' ' << card[i]; cout << endl;
cout << "SETS: ";
for(i=0; i < n; i++)
for(j=i+1; j < n; j++)
for(k=j+1; k < n; k++) {
if(judge(i,j,k)) {
num++;
if (num>1) cout << " ";
cout << num << ". " << card[i] << ' ' << card[j] << ' ' << card[k] << endl;
} }
if(num==0) {cout << "*** None Found ***" << endl; }
cout << endl;
} while(cin);
}
Попередня | Зміст | Наступна |
В системі:
гості - (1); користувачі -
(0)