292312026-06-09 08:39:30KristófKép kódolása **cpp17Elfogadva 100/1004ms560 KiB
#include <iostream>
#include <vector>
#include <set>
using namespace std;

vector<string> ans;
vector<vector<char>> grid;
void solver(pair<int,int> kords,int meret,string kod)
{
    bool onec=true;
    set<char> cnt;
    int x=kords.first,y=kords.second;
    for(int i=x;i<x+meret;i++)
        {
        for(int j=y;j<y+meret;j++)
            cnt.insert(grid[i][j]);
        }
    if(cnt.size()==1)ans.push_back((kod+"0"+grid[x][y]));
    else
        {
        meret/=2;
        solver(kords,meret,kod+"1");
        solver({x,y+meret},meret,kod+"2");
        solver({x+meret,y},meret,kod+"3");
        solver({x+meret,y+meret},meret,kod+"4");
        }
}

int main()
{
    int n;cin>>n;
    grid.resize(n,vector<char> (n));
    for(int i=0;i<n;i++)
        for(int j=0;j<n;j++)
            cin>>grid[i][j];
    solver({0,0},n,"");
    cout<<n<<" "<<ans.size()<<"\n";
    for(auto x:ans)cout<<x<<"\n";
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base100/100
1Elfogadva6/61ms316 KiB
2Elfogadva6/61ms512 KiB
3Elfogadva6/61ms316 KiB
4Elfogadva6/61ms500 KiB
5Elfogadva6/61ms316 KiB
6Elfogadva7/71ms316 KiB
7Elfogadva7/71ms392 KiB
8Elfogadva7/71ms316 KiB
9Elfogadva7/71ms316 KiB
10Elfogadva7/71ms404 KiB
11Elfogadva7/71ms316 KiB
12Elfogadva7/73ms500 KiB
13Elfogadva7/74ms560 KiB
14Elfogadva7/74ms316 KiB
15Elfogadva7/74ms316 KiB