Submission #1757701


Source Code Expand

#include <iostream>
#include <vector>
#include <queue>
using namespace std;

using vc = vector<char>;
using vvc = vector<vector<char>>;

int dic[5] = {1,1,-1,-1,1};

bool inside(int a){
    return ((a >= 0) && (a < 8)) ;
}

void paint(int y,int x,vvc& arr){
    for(int k = 0; k < 8; k++)
        arr[k][x] = arr[y][k] = ' ';
    
    for(int i = 0; i < 4; i++){
        for(int j = 0; j < 8; j++){
            if(inside(y+dic[i]*j) && inside(x+dic[i+1]*j)){
                arr[y+dic[i]*j][x+dic[i+1]*j] = ' ';
            }
        }
    }
    
    arr[y][x] = 'Q';
    return;
}

void output(vvc& now){

    for(int i = 0; i < 8; i++){
        for(int j = 0; j < 8; j++){
            if(now[i][j] == 'Q')
                cout << 'Q';
            else
                cout << '.';//.
        }
        cout << endl;
    }
}

void display(vvc& now){

    cout << "-----------" << endl;
    for(int i = 0; i < 8; i++){
        for(int j = 0; j < 8; j++){
            cout << now[i][j];
        }
        cout << endl;
    }
    cout << "-----------" << endl << endl;
}

int main(void){
    
    vvc arr(8,vc(8));
    
    for(int i = 0; i < 8; i++)
        for(int j = 0; j < 8; j++){
            cin >> arr[i][j];
        }
        
    for(int i = 0; i < 8; i++)
        for(int j = 0; j < 8; j++)
            if(arr[i][j] == 'Q'){
                paint(i,j,arr);
            }
    
    queue<vvc> q;
    q.push(arr);
    
    while(!q.empty()){
        vvc now = q.front();
        q.pop();
        
        //display(now);
        
        int answer = 0;
        for(int i = 0; i < 8; i++)
            for(int j = 0; j < 8; j++){
                if( now[i][j] == '.' ){
                    vvc next = now;
                    paint(i,j,next);
                    q.push(next);
                }else{
                    if(now[i][j] == 'Q')
                        answer++;
                }
            }
        if(answer == 8){
            output(now);
            return 0;
        }
    }
    
    cout << "No Answer" << endl;
    
    return 0;
}

Submission Info

Submission Time
Task C - パズルのお手伝い
User nasatame
Language C++14 (GCC 5.4.1)
Score 0
Code Size 2160 Byte
Status WA
Exec Time 1209 ms
Memory 153876 KB

Judge Result

Set Name All
Score / Max Score 0 / 100
Status
AC × 19
WA × 18
MLE × 5
Set Name Test Cases
All 00_sample1.txt, 00_sample2.txt, 01_rnd_00.txt, 01_rnd_01.txt, 01_rnd_02.txt, 01_rnd_03.txt, 01_rnd_04.txt, 01_rnd_05.txt, 01_rnd_06.txt, 01_rnd_07.txt, 01_rnd_08.txt, 01_rnd_09.txt, 01_rnd_10.txt, 01_rnd_11.txt, 01_rnd_12.txt, 01_rnd_13.txt, 01_rnd_14.txt, 01_rnd_15.txt, 01_rnd_16.txt, 01_rnd_17.txt, 01_rnd_18.txt, 01_rnd_19.txt, 01_rnd_20.txt, 01_rnd_21.txt, 01_rnd_22.txt, 01_rnd_23.txt, 01_rnd_24.txt, 01_rnd_25.txt, 01_rnd_26.txt, 01_rnd_27.txt, 01_rnd_28.txt, 01_rnd_29.txt, 01_rnd_30.txt, 01_rnd_31.txt, 01_rnd_32.txt, 01_rnd_33.txt, 01_rnd_34.txt, 01_rnd_35.txt, 01_rnd_36.txt, 01_rnd_37.txt, 01_rnd_38.txt, 01_rnd_39.txt
Case Name Status Exec Time Memory
00_sample1.txt AC 3 ms 512 KB
00_sample2.txt WA 27 ms 4096 KB
01_rnd_00.txt AC 2 ms 384 KB
01_rnd_01.txt AC 2 ms 384 KB
01_rnd_02.txt WA 35 ms 5248 KB
01_rnd_03.txt AC 2 ms 384 KB
01_rnd_04.txt MLE 1209 ms 153876 KB
01_rnd_05.txt AC 2 ms 384 KB
01_rnd_06.txt WA 32 ms 5248 KB
01_rnd_07.txt WA 22 ms 3200 KB
01_rnd_08.txt WA 33 ms 4992 KB
01_rnd_09.txt AC 10 ms 1792 KB
01_rnd_10.txt MLE 767 ms 96896 KB
01_rnd_11.txt AC 13 ms 2176 KB
01_rnd_12.txt WA 19 ms 2688 KB
01_rnd_13.txt AC 3 ms 512 KB
01_rnd_14.txt WA 19 ms 2816 KB
01_rnd_15.txt AC 16 ms 2560 KB
01_rnd_16.txt MLE 1024 ms 130580 KB
01_rnd_17.txt WA 24 ms 3712 KB
01_rnd_18.txt AC 3 ms 512 KB
01_rnd_19.txt AC 2 ms 512 KB
01_rnd_20.txt MLE 880 ms 109716 KB
01_rnd_21.txt WA 38 ms 5248 KB
01_rnd_22.txt AC 16 ms 2688 KB
01_rnd_23.txt AC 2 ms 384 KB
01_rnd_24.txt WA 25 ms 3712 KB
01_rnd_25.txt AC 3 ms 512 KB
01_rnd_26.txt WA 14 ms 2176 KB
01_rnd_27.txt AC 3 ms 512 KB
01_rnd_28.txt AC 2 ms 384 KB
01_rnd_29.txt WA 24 ms 3456 KB
01_rnd_30.txt WA 22 ms 3328 KB
01_rnd_31.txt WA 25 ms 3968 KB
01_rnd_32.txt AC 3 ms 512 KB
01_rnd_33.txt WA 27 ms 4096 KB
01_rnd_34.txt MLE 880 ms 109844 KB
01_rnd_35.txt WA 27 ms 3968 KB
01_rnd_36.txt WA 22 ms 3328 KB
01_rnd_37.txt WA 22 ms 3200 KB
01_rnd_38.txt AC 2 ms 384 KB
01_rnd_39.txt AC 2 ms 384 KB