Submission #1400523
Source Code Expand
#include <bits/stdc++.h>
using namespace std;
int h = 50, w = 50, k = 8;
string s[51];
bool f[51][51];
vector<pair<int, int> > make_piece(int y, int x, int l){
int dy[4] = {1, -1, 0, 0};
int dx[4] = {0, 0, 1, -1};
vector<pair<int, int> > res;
queue<pair<int, int> > q;
q.push(pair<int, int>(y, x));
res.push_back(pair<int, int>(y, x));
f[y][x] = true;
while(!q.empty()){
pair<int, int> p = q.front(); q.pop();
if(res.size() == k) break;
for(int i = 0; i < 4; i++){
int ny = p.first + dy[i];
int nx = p.second + dx[i];
if(!(0 <= ny && ny < h && 0 <= nx && nx < w) || f[ny][nx]) continue;
if((s[ny][nx] - '0') < l) continue;
res.push_back(pair<int, int>(ny, nx));
q.push(pair<int, int>(ny, nx));
f[ny][nx] = true;
if(res.size() == k) break;
}
}
if(res.size() == k) return res;
for(int i = 0; i < res.size(); i++){
f[res[i].first][res[i].second] = false;
}
res.clear();
return res;
}
//sample : 17748万, test :
int main(){
cin >> h >> w >> k;
for(int i = 0; i < h; i++) cin >> s[i];
vector<vector<pair<int, int> > > ans;
vector<pair<int, int> > tmp;
for(int l = 7; l > 0; l--){
for(int m = 9; m > 0; m--){
for(int i = 0; i < h; i++){
for(int j = 0; j < w; j++){
if((s[i][j] - '0') == m && f[i][j] == false){
tmp = make_piece(i, j, l);
if(tmp.size() == k){
ans.push_back(tmp);
}
}
}
}
}
}
int c = ans.size();
cout << c << endl;
for(int i = 0; i < c; i++){
for(int j = 0; j < k; j++){
cout << ans[i][j].first + 1 << " " << ans[i][j].second + 1 << endl;
}
}
}
Submission Info
Submission Time |
|
Task |
A - Multiple Pieces |
User |
treeone |
Language |
C++14 (GCC 5.4.1) |
Score |
836549 |
Code Size |
1960 Byte |
Status |
AC |
Exec Time |
9 ms |
Memory |
256 KB |
Judge Result
Set Name |
test_01 |
test_02 |
test_03 |
test_04 |
test_05 |
test_06 |
test_07 |
test_08 |
test_09 |
test_10 |
Score / Max Score |
83500 / 1343058 |
81825 / 1343058 |
85757 / 1343058 |
79435 / 1343058 |
88236 / 1343058 |
83254 / 1343058 |
82592 / 1343058 |
77306 / 1343058 |
88362 / 1343058 |
86282 / 1343058 |
Status |
|
|
|
|
|
|
|
|
|
|
Set Name |
Test Cases |
test_01 |
subtask_01_01.txt |
test_02 |
subtask_01_02.txt |
test_03 |
subtask_01_03.txt |
test_04 |
subtask_01_04.txt |
test_05 |
subtask_01_05.txt |
test_06 |
subtask_01_06.txt |
test_07 |
subtask_01_07.txt |
test_08 |
subtask_01_08.txt |
test_09 |
subtask_01_09.txt |
test_10 |
subtask_01_10.txt |
Case Name |
Status |
Exec Time |
Memory |
subtask_01_01.txt |
AC |
9 ms |
256 KB |
subtask_01_02.txt |
AC |
9 ms |
256 KB |
subtask_01_03.txt |
AC |
9 ms |
256 KB |
subtask_01_04.txt |
AC |
9 ms |
256 KB |
subtask_01_05.txt |
AC |
9 ms |
256 KB |
subtask_01_06.txt |
AC |
9 ms |
256 KB |
subtask_01_07.txt |
AC |
9 ms |
256 KB |
subtask_01_08.txt |
AC |
9 ms |
256 KB |
subtask_01_09.txt |
AC |
9 ms |
256 KB |
subtask_01_10.txt |
AC |
9 ms |
256 KB |