| 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 ... |
