aloha greedy2
This commit is contained in:
53
zeta_cpp/completed/1339.cpp
Normal file
53
zeta_cpp/completed/1339.cpp
Normal file
@@ -0,0 +1,53 @@
|
|||||||
|
#include<iostream>
|
||||||
|
#include<map>
|
||||||
|
#include<cmath>
|
||||||
|
#include<vector>
|
||||||
|
#include<algorithm>
|
||||||
|
|
||||||
|
bool comp(std::pair<char, int> a, std::pair<char, int> b);
|
||||||
|
|
||||||
|
int solve(int N, std::string W[]) {
|
||||||
|
|
||||||
|
std::map<char, int> V;
|
||||||
|
|
||||||
|
for (int i = 0; i < N; ++i) {
|
||||||
|
std::string w = W[i];
|
||||||
|
for (int j = 0; j < w.length(); j++) {
|
||||||
|
if (V.find(w[j]) != V.end()) {
|
||||||
|
|
||||||
|
V[w[j]] += (int) pow(10, (double) (w.length() - j - 1));
|
||||||
|
|
||||||
|
} else {
|
||||||
|
V[w[j]] = (int) pow(10, (double) (w.length() - j - 1));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
std::vector<std::pair<char, int>> v(V.begin(), V.end());
|
||||||
|
|
||||||
|
sort(v.begin(), v.end(), comp);
|
||||||
|
int s = 0;
|
||||||
|
for (int i = 0; i < v.size(); i++) {
|
||||||
|
s += (9 - i) * v[i].second;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
return s;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool comp(std::pair<char, int> a, std::pair<char, int> b) {
|
||||||
|
return a.second > b.second;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
int main() {
|
||||||
|
int N;
|
||||||
|
std::cin >> N;
|
||||||
|
std::string W[N];
|
||||||
|
for (int i = 0; i < N; i++) {
|
||||||
|
std::cin >> W[i];
|
||||||
|
}
|
||||||
|
std::cout << solve(N, W);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
13
zeta_python/completed/11509_faster.py
Normal file
13
zeta_python/completed/11509_faster.py
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
def solve(N, H):
|
||||||
|
arrow = [0] * 1000001
|
||||||
|
for h in H:
|
||||||
|
if arrow[h]:
|
||||||
|
arrow[h] -= 1
|
||||||
|
arrow[h - 1] += 1
|
||||||
|
return sum(arrow)
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
N = int(input())
|
||||||
|
H = list(map(int, input().split()))
|
||||||
|
print(solve(N, H))
|
||||||
16
zeta_python/completed/1339.py
Normal file
16
zeta_python/completed/1339.py
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
def solve(N: int, W: list):
|
||||||
|
V = {}
|
||||||
|
|
||||||
|
for w in W:
|
||||||
|
for i, a in enumerate(w[::-1]):
|
||||||
|
if a not in V:
|
||||||
|
V[a] = 0
|
||||||
|
V[a] += 10 ** i
|
||||||
|
S = list(sorted(V.items(), key=lambda x: x[1], reverse=True))
|
||||||
|
return sum([(9 - i) * S[i][1] for i in range(len(S))])
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
N = int(input())
|
||||||
|
W = [input() for _ in range(N)]
|
||||||
|
print(solve(N, W))
|
||||||
Reference in New Issue
Block a user