Submission #1131280
Source Code Expand
#include <cstdio> #include <cstdlib> #include <cmath> #include <climits> #include <cfloat> #include <cstring> #include <map> #include <utility> #include <set> #include <iostream> #include <memory> #include <string> #include <vector> #include <algorithm> #include <functional> #include <sstream> #include <complex> #include <stack> #include <queue> #include <unordered_set> #include <unordered_map> using namespace std; struct edge { int to; long long cost; edge(int to_, long long cost_) : to(to_), cost(cost_) {} }; const long long INF = 123456789012345; using P = pair<long long, int>;//first:cost,second:vertice void dijkstra(vector<edge>graph_[], long long dist[], int n_, int s_) { priority_queue<P, vector<P>, greater<P>>que; que.push({ 0,s_ }); fill(dist, dist + n_, INF); dist[s_] = 0ll; while (!que.empty()) { auto q = que.top(); que.pop(); long long thd = q.first; int thv = q.second; if (thd > dist[thv]) { continue; } for (auto ed : graph_[thv]) { if (dist[ed.to] > ed.cost + thd) { dist[ed.to] = ed.cost + thd; que.push({ dist[ed.to],ed.to }); } } } } vector<edge>graph[512]; long long dist[512]; int main(void) { int n; cin >> n; int ss = 512; if (n == 2)ss = 16; int ms = n * n; for (int board = 0; board < ss; ++board) { bool s[9] = {}; for (int i = 0; i < ms; ++i) { if (board & (1 << i))s[i] = true; } for (int m = 0; m < ms; ++m) { bool t[9]; for (int i = 0; i < ms; ++i)t[i] = s[i]; int p = m / n; int q = m % n; int kio[3]; for (int i = 0; i < n; ++i)kio[i] = s[p * n + i]; for (int i = 0; i < n; ++i)t[i * n + q] = kio[i]; int to = 0; for (int i = 0; i < ms; ++i) { to += t[i] ? (1 << i) : 0; } graph[to].emplace_back(board, 1); } } int id = 0; int inp[9]; for (int i = 0; i < ms; ++i) { char ch; cin >> ch; inp[i] = (ch == '.'); } for (int i = 0; i < ms; ++i) { id += inp[i] ? (1 << i) : 0; } dijkstra(graph, dist, ss, 0); cout << ((dist[id] == INF) ? -1 : dist[id]) << endl; return 0; }
Submission Info
Submission Time | |
---|---|
Task | B - Row to Column |
User | platypus |
Language | C++14 (GCC 5.4.1) |
Score | 300 |
Code Size | 2163 Byte |
Status | RE |
Exec Time | 273 ms |
Memory | 384 KB |
Judge Result
Set Name | Sample | Subtask | All | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 300 / 300 | 0 / 1000 | ||||||||
Status |
|
|
|
Set Name | Test Cases |
---|---|
Sample | 0_00.txt, 0_01.txt, 0_02.txt, 0_03.txt, 0_04.txt |
Subtask | 0_00.txt, 0_01.txt, 0_02.txt, 0_03.txt, 0_04.txt, 1_00.txt, 1_01.txt, 1_02.txt, 1_03.txt, 1_04.txt, 1_05.txt, 1_06.txt, 1_07.txt, 1_08.txt, 1_09.txt, 1_10.txt, 1_11.txt, 1_12.txt, 1_13.txt, 1_14.txt |
All | 0_00.txt, 0_01.txt, 0_02.txt, 0_03.txt, 0_04.txt, 1_00.txt, 1_01.txt, 1_02.txt, 1_03.txt, 1_04.txt, 1_05.txt, 1_06.txt, 1_07.txt, 1_08.txt, 1_09.txt, 1_10.txt, 1_11.txt, 1_12.txt, 1_13.txt, 1_14.txt, 2_00.txt, 2_01.txt, 2_02.txt, 2_03.txt, 2_04.txt, 2_05.txt, 2_06.txt, 2_07.txt, 2_08.txt, 2_09.txt, 2_10.txt, 2_11.txt, 2_12.txt, 2_13.txt, 2_14.txt, 2_15.txt, 2_16.txt, 2_17.txt, 2_18.txt, 2_19.txt, 2_20.txt, 2_21.txt, 2_22.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
0_00.txt | AC | 1 ms | 256 KB |
0_01.txt | AC | 1 ms | 256 KB |
0_02.txt | AC | 1 ms | 256 KB |
0_03.txt | AC | 2 ms | 384 KB |
0_04.txt | AC | 1 ms | 384 KB |
1_00.txt | AC | 2 ms | 384 KB |
1_01.txt | AC | 2 ms | 384 KB |
1_02.txt | AC | 1 ms | 384 KB |
1_03.txt | AC | 2 ms | 384 KB |
1_04.txt | AC | 2 ms | 384 KB |
1_05.txt | AC | 2 ms | 384 KB |
1_06.txt | AC | 2 ms | 384 KB |
1_07.txt | AC | 2 ms | 384 KB |
1_08.txt | AC | 2 ms | 384 KB |
1_09.txt | AC | 2 ms | 384 KB |
1_10.txt | AC | 1 ms | 384 KB |
1_11.txt | AC | 2 ms | 384 KB |
1_12.txt | AC | 2 ms | 384 KB |
1_13.txt | AC | 2 ms | 384 KB |
1_14.txt | AC | 2 ms | 384 KB |
2_00.txt | RE | 273 ms | 256 KB |
2_01.txt | RE | 96 ms | 256 KB |
2_02.txt | RE | 95 ms | 256 KB |
2_03.txt | RE | 95 ms | 256 KB |
2_04.txt | RE | 96 ms | 256 KB |
2_05.txt | RE | 95 ms | 256 KB |
2_06.txt | RE | 96 ms | 256 KB |
2_07.txt | RE | 95 ms | 256 KB |
2_08.txt | RE | 95 ms | 256 KB |
2_09.txt | RE | 96 ms | 256 KB |
2_10.txt | RE | 96 ms | 256 KB |
2_11.txt | RE | 95 ms | 256 KB |
2_12.txt | RE | 95 ms | 256 KB |
2_13.txt | RE | 95 ms | 256 KB |
2_14.txt | RE | 94 ms | 256 KB |
2_15.txt | RE | 95 ms | 256 KB |
2_16.txt | RE | 95 ms | 256 KB |
2_17.txt | RE | 95 ms | 256 KB |
2_18.txt | RE | 95 ms | 256 KB |
2_19.txt | RE | 95 ms | 256 KB |
2_20.txt | RE | 95 ms | 256 KB |
2_21.txt | RE | 98 ms | 256 KB |
2_22.txt | RE | 95 ms | 256 KB |