1846B - Rudolph and Tic-Tac-Toe - CodeForces Solution


brute force implementation strings

Please click on ads to support us..

C++ Code:

#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
#include <cmath>
using namespace std;


int main() {
    int t;
    cin >> t;
    while (t--) {
        char a[3][3];
        for (int i = 0; i < 3; ++i) {
            for (int j = 0; j < 3; ++j) {
                cin >> a[i][j];
            }
        }
        char f = 0;
        for (int i = 2; i > -1; --i) {
            if (a[0][i] == a[1][i] && a[1][i] == a[2][i] && a[1][i] != '.') {
                f = a[0][i];
            }
        }
        for (int i = 2; i > -1; --i) {
            if (a[i][0] == a[i][1] && a[i][2] == a[i][1] && a[i][1] != '.') {
                f = a[i][0];
            }
        }
        if (a[0][0] == a[1][1] && a[1][1] == a[2][2] && a[1][1] != '.') {
            f = a[1][1];
        }
        if (a[0][2] == a[1][1] && a[1][1] == a[2][0] && a[1][1] != '.') {
            f = a[1][1];
        }
        if (f == 0 || f == '.') {
            cout << "DRAW\n";
            continue;
        }
        cout << f << '\n';
    }
}


Comments

Submit
0 Comments
More Questions

1143B - Nirvana
1285A - Mezo Playing Zoma
919B - Perfect Number
894A - QAQ
1551A - Polycarp and Coins
313A - Ilya and Bank Account
1469A - Regular Bracket Sequence
919C - Seat Arrangements
1634A - Reverse and Concatenate
1619C - Wrong Addition
1437A - Marketing Scheme
1473B - String LCM
1374A - Required Remainder
1265E - Beautiful Mirrors
1296A - Array with Odd Sum
1385A - Three Pairwise Maximums
911A - Nearest Minimums
102B - Sum of Digits
707A - Brain's Photos
1331B - Limericks
305B - Continued Fractions
1165B - Polycarp Training
1646C - Factorials and Powers of Two
596A - Wilbur and Swimming Pool
1462B - Last Year's Substring
1608B - Build the Permutation
1505A - Is it rated - 2
169A - Chores
765A - Neverending competitions
1303A - Erasing Zeroes