Merge branch 'master' of https://github.com/yenru0/CodeObjecct
This commit is contained in:
40
zeta_C/completed/7785.c
Normal file
40
zeta_C/completed/7785.c
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
|
typedef struct _Item {
|
||||||
|
char name[6];
|
||||||
|
char isin;
|
||||||
|
} Item;
|
||||||
|
|
||||||
|
int comp(const void *a, const void *b) {
|
||||||
|
int cmp = strcmp((*(Item *) a).name, (*(Item *) b).name);
|
||||||
|
|
||||||
|
return -cmp;
|
||||||
|
}
|
||||||
|
|
||||||
|
int main() {
|
||||||
|
int N;
|
||||||
|
|
||||||
|
scanf("%d", &N);
|
||||||
|
Item res[N + 1];
|
||||||
|
for (int i = 0; i < N; i++) {
|
||||||
|
char temp[6];
|
||||||
|
scanf("%s %s", res[i].name, temp);
|
||||||
|
if (temp[0] == 'e') {
|
||||||
|
res[i].isin = 1;
|
||||||
|
} else {
|
||||||
|
res[i].isin = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
qsort(res, N, sizeof(Item), comp);
|
||||||
|
for (int i = 0; i < N; i++) {
|
||||||
|
if (comp(&res[i], &res[i + 1]) == 0) {
|
||||||
|
i++;
|
||||||
|
} else {
|
||||||
|
printf("%s\n", res[i].name);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
73
zeta_python/completed/2630.py
Normal file
73
zeta_python/completed/2630.py
Normal file
@@ -0,0 +1,73 @@
|
|||||||
|
import sys
|
||||||
|
|
||||||
|
input = sys.stdin.readline
|
||||||
|
|
||||||
|
|
||||||
|
N: int # late-init
|
||||||
|
|
||||||
|
|
||||||
|
def partition(L, P):
|
||||||
|
"""get subdivisions of partition and check is valid of its subdivision"""
|
||||||
|
half = L // 2
|
||||||
|
|
||||||
|
quad = [[], [], [], []]
|
||||||
|
|
||||||
|
for i in range(L):
|
||||||
|
for j in range(L):
|
||||||
|
if 0 <= i < half:
|
||||||
|
if 0 <= j < half:
|
||||||
|
quad[0].append(P[i * L + j])
|
||||||
|
else:
|
||||||
|
quad[1].append(P[i * L + j])
|
||||||
|
else:
|
||||||
|
if 0 <= j < half:
|
||||||
|
quad[2].append(P[i * L + j])
|
||||||
|
else:
|
||||||
|
quad[3].append(P[i * L + j])
|
||||||
|
ret = []
|
||||||
|
for q in quad:
|
||||||
|
a = not any(q)
|
||||||
|
b = all(q)
|
||||||
|
if a:
|
||||||
|
ret.append((True, 0))
|
||||||
|
elif b:
|
||||||
|
ret.append((True, 1))
|
||||||
|
else:
|
||||||
|
ret.append((False, half, q))
|
||||||
|
return ret
|
||||||
|
|
||||||
|
|
||||||
|
def solve(N: int, M: list[int]):
|
||||||
|
"""main DFS process"""
|
||||||
|
cnt_0 = 0
|
||||||
|
cnt_1 = 0
|
||||||
|
if all(M):
|
||||||
|
return 0, 1
|
||||||
|
elif not any(M):
|
||||||
|
return 1, 0
|
||||||
|
|
||||||
|
D = [(N, M)] # stack for DFS
|
||||||
|
|
||||||
|
while D:
|
||||||
|
L, P = D.pop()
|
||||||
|
parted = partition(L, P)
|
||||||
|
for p in parted:
|
||||||
|
if p[0]:
|
||||||
|
_, cnt = p
|
||||||
|
if cnt:
|
||||||
|
cnt_1 += 1
|
||||||
|
else:
|
||||||
|
cnt_0 += 1
|
||||||
|
else:
|
||||||
|
_, new_L, new_P = p
|
||||||
|
D.append((new_L, new_P))
|
||||||
|
|
||||||
|
return cnt_0, cnt_1
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
N = int(input())
|
||||||
|
print(
|
||||||
|
*solve(N, sum([list(map(int, input().split())) for _ in range(N)], [])),
|
||||||
|
sep="\n"
|
||||||
|
)
|
||||||
17
zeta_python/completed/7785.py
Normal file
17
zeta_python/completed/7785.py
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
import sys
|
||||||
|
|
||||||
|
input = sys.stdin.readline
|
||||||
|
print = sys.stdout.write
|
||||||
|
|
||||||
|
N = int(input())
|
||||||
|
d = dict()
|
||||||
|
for _ in range(N):
|
||||||
|
n, t = input().rstrip().split()
|
||||||
|
if t.startswith("e"):
|
||||||
|
d[n] = 1
|
||||||
|
else:
|
||||||
|
d[n] = 0
|
||||||
|
x = sorted([k for k, v in d.items() if v == 1])[::-1]
|
||||||
|
for i in x:
|
||||||
|
print(i)
|
||||||
|
print('\n')
|
||||||
Reference in New Issue
Block a user