Submission #919031

# Submission time Handle Problem Language Result Execution time Memory
919031 2024-01-31T05:42:29 Z TIN Mobitel (COCI14_mobitel) C++17
50 / 50
1 ms 856 KB
#include <bits/stdc++.h>

using namespace std;

#define FNAME "test"

#define sz(s) (int) (s).size()

unordered_map<char,pair<int,int>> mp;

const string base[11] = {"", "", "abc", "def", "ghi", "jkl", "mno", "pqrs", "tuv", "wxyz"};

int digits[10];
string s;

void Task() {
	ios_base::sync_with_stdio(false);
	cin.tie(0); cout.tie(0);
	cout << fixed << setprecision(9);
	if (fopen(FNAME".inp","r")) {
		freopen(FNAME".inp","r",stdin);
		freopen(FNAME".out","w",stdout);
	}
}

void Solve() {
	//Your Code
	for (int i = 1; i <= 9; i++) {
		cin >> digits[i];
		for (int j = 0; j < sz(base[digits[i]]); j++) mp[base[digits[i]][j]] = {i, j + 1};
	}
	cin >> s;
	char pc = '.';
	for (char c : s) {
		int num = mp[c].first;
		char cn = '0' + num;
		if (pc != '.') {
			if (mp[pc].first == num) cout << '#';
		}
		int j = mp[c].second;
		for (int i = 1; i <= j; i++) cout << cn;
		pc = c;
	}
}

int main() {
	Task();
	Solve();
	cerr << "\nTime run: " << 1000*clock()/CLOCKS_PER_SEC << "ms";
	return 37^37;
}

Compilation message

mobitel.cpp: In function 'void Task()':
mobitel.cpp:21:10: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   21 |   freopen(FNAME".inp","r",stdin);
      |   ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
mobitel.cpp:22:10: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   22 |   freopen(FNAME".out","w",stdout);
      |   ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
# Verdict Execution time Memory Grader output
1 Correct 0 ms 344 KB Output is correct
2 Correct 1 ms 344 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 1 ms 348 KB Output is correct
5 Correct 1 ms 856 KB Output is correct
6 Correct 1 ms 344 KB Output is correct
7 Correct 1 ms 348 KB Output is correct
8 Correct 0 ms 344 KB Output is correct
9 Correct 1 ms 344 KB Output is correct
10 Correct 0 ms 348 KB Output is correct