Cod sursa(job #2553067)

Utilizator NightChipsAlbert Maftei NightChips Data 21 februarie 2020 16:20:27
Problema Datorii Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.96 kb
#include <bits/stdc++.h>
using namespace std;
ifstream fin ("zaharel.in");
ofstream fout ("zaharel.out");

vector< pair<int,int> > v;
int x, y, X, Y, n, m, i, L[1005], C[1005], j;
bool viz[1005][ 1005];
char c;

int main()
{
    fin>>n>>m;
    for(i=1;i<=m;i++)
    {
        fin>>x>>y>>c;
        if(c=='R') {L[x] = y, X = x, Y = y;}
        else C[y] = x;
    }

    x=X; y=Y; c='R';
    while(1)
    {
        v.push_back({x,y});
        if(c == 'R')
        {
            x=C[y];c='A';
        }
        else
        {
            y=L[x];c= 'R';
        }
        if(viz[x][y]) break;
        viz[x][y] = 1;
    }

    for(i=0; v[i] != make_pair(x, y); i++);

    fout<<(v.size()-i)/2 << '\n';

    int primrosu=i;
    if(i%2==1) primrosu++;

    for(j=primrosu; j<v.size(); j+=2)
          fout << v[j].first << ' ' << v[j].second << ' ';
    fout << '\n';
    for(j=primrosu-i%2; j<v.size(); j+=2)
          fout << v[j].first << ' ' << v[j].second << ' ';

    return 0;
}