Task: | Kayaks |
Sender: | >--) ) ) )*> |
Submission time: | 2015-09-09 18:10:36 +0300 |
Language: | C++ |
Status: | READY |
Result: | ACCEPTED |
test | verdict | time | |
---|---|---|---|
#1 | ACCEPTED | 0.04 s | details |
#2 | ACCEPTED | 0.06 s | details |
#3 | ACCEPTED | 0.05 s | details |
#4 | ACCEPTED | 0.05 s | details |
#5 | ACCEPTED | 0.05 s | details |
#6 | ACCEPTED | 0.05 s | details |
#7 | ACCEPTED | 0.05 s | details |
#8 | ACCEPTED | 0.05 s | details |
#9 | ACCEPTED | 0.06 s | details |
#10 | ACCEPTED | 0.04 s | details |
#11 | ACCEPTED | 0.07 s | details |
#12 | ACCEPTED | 0.05 s | details |
Code
#include <algorithm> #include <iostream> #include <iterator> #include <numeric> #include <sstream> #include <fstream> #include <cassert> #include <climits> #include <cstdlib> #include <cstring> #include <string> #include <cstdio> #include <vector> #include <bitset> #include <cmath> #include <queue> #include <deque> #include <stack> #include <list> #include <map> #include <set> using namespace std; #define ll long long #define ld long double #define ii pair<int,int> #define si pair<string,int> #define iii pair<int,ii> #define vi vector<int> #define vc vector<char> #define vs vector<string> #define msvs map<string,vs> #define msi map<string,int> #define mss map<string,int> #define us unordered_set #define um unordered_map #define pq priority_queue #define pb push_back #define mp make_pair #define forall(i,a,b) for (int i=a;i<b;i++) #define foreach(v,c) for( typeof( (c).begin()) v = (c).begin(); v != (c).end(); ++v) #define all(a) a.begin(), a.end() #define in(a,b) ( (b).find(a) != (b).end()) #define fill(a,v) memset(a, v, sizeof a) #define sz(a) ((int)(a.size())) #define N (1<<17) #define M 1000000007 #define I 500000004 int n,m; int mem[9]; int pos[9]; char mmm[30][30]; int main() { cin.sync_with_stdio(false); cin >> n >> m; for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) { char c; cin >> c; mmm[i][j] = c; } } int rank = 1; for (int j = m-1; j >= 0; j--) { int found = 0; for (int i = 0; i < n; i++) { char c = mmm[i][j]; if (c == '.' || c == 'S' || c == 'F') continue; int no = (int)(c - 49); if (!mem[no]) { mem[no] = 1; pos[no] = rank; found = true; } } if (found) rank++; } for (int i = 0; i < 9; i++) cout << pos[i] << "\n"; return 0; }
Test details
Test 1
Verdict: ACCEPTED
input |
---|
10 15
S..........222F S.....111.....F S...333.......F S...555.......F ... |
correct output |
---|
5
1 6 3 6 ... |
user output |
---|
5 1 6 3 6 ... |
Test 2
Verdict: ACCEPTED
input |
---|
10 10
S.....111F S....222.F S...333..F S..444...F ... |
correct output |
---|
1
2 3 4 5 ... |
user output |
---|
1 2 3 4 5 ... |
Test 3
Verdict: ACCEPTED
input |
---|
10 10
S...111..F S....222.F S.....333F S444.....F ... |
correct output |
---|
3
2 1 6 5 ... |
user output |
---|
3 2 1 6 5 ... |
Test 4
Verdict: ACCEPTED
input |
---|
10 20
S..................F S...111............F S......222.........F S.........333......F ... |
correct output |
---|
9
7 5 3 1 ... |
user output |
---|
9 7 5 3 1 ... |
Test 5
Verdict: ACCEPTED
input |
---|
20 20
S999...............F S..................F S..................F S..................F ... |
correct output |
---|
5
3 7 6 4 ... |
user output |
---|
5 3 7 6 4 ... |
Test 6
Verdict: ACCEPTED
input |
---|
30 30
S............................F... |
correct output |
---|
1
6 5 4 3 ... |
user output |
---|
1 6 5 4 3 ... |
Test 7
Verdict: ACCEPTED
input |
---|
30 30
S111.........................F... |
correct output |
---|
1
1 1 1 1 ... |
user output |
---|
1 1 1 1 1 ... |
Test 8
Verdict: ACCEPTED
input |
---|
30 30
S111.........................F... |
correct output |
---|
7
6 5 3 2 ... |
user output |
---|
7 6 5 3 2 ... |
Test 9
Verdict: ACCEPTED
input |
---|
30 30
S............................F... |
correct output |
---|
1
1 1 1 3 ... |
user output |
---|
1 1 1 1 3 ... |
Test 10
Verdict: ACCEPTED
input |
---|
30 30
S............................F... |
correct output |
---|
5
3 3 3 1 ... |
user output |
---|
5 3 3 3 1 ... |
Test 11
Verdict: ACCEPTED
input |
---|
30 30
S............................F... |
correct output |
---|
6
5 3 5 4 ... |
user output |
---|
6 5 3 5 4 ... |
Test 12
Verdict: ACCEPTED
input |
---|
30 30
S............................F... |
correct output |
---|
5
4 3 1 2 ... |
user output |
---|
5 4 3 1 2 ... |