Skip to content

Commit ec7b458

Browse files
author
IsHYuhi
committed
add greens
1 parent 6090e79 commit ec7b458

File tree

3 files changed

+112
-3
lines changed

3 files changed

+112
-3
lines changed

ABC/ABC070/D.py

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
import heapq
2+
3+
class Edge():
4+
def __init__(self, to, cost):
5+
self.to = to
6+
self.cost = cost
7+
8+
class Pair():
9+
def __init__(self, first, second):
10+
#first: 最短距離, second: 頂点番号
11+
self.first = first
12+
self.second = second
13+
14+
def __lt__(self, other):
15+
return (self.first ,self.second) < (other.first, other.second)
16+
17+
def dijkstra(s):
18+
heapq.heapify(que)
19+
d[s] = 0
20+
heapq.heappush(que, Pair(0, s))
21+
22+
while que:
23+
p = heapq.heappop(que)
24+
v = p.second
25+
if d[v] < p.first:
26+
continue
27+
for i in range(len(G[v])):
28+
e = G[v][i]
29+
if d[e.to] > d[v] + e.cost:
30+
d[e.to] = d[v] + e.cost
31+
heapq.heappush(que, Pair(d[e.to], e.to))
32+
33+
n = int(input())
34+
G = [[] for _ in range(n)]
35+
for i in range(n-1):
36+
v, to, c = map(int, input().split())
37+
G[v-1].append(Edge(to-1, c))
38+
G[to-1].append(Edge(v-1, c))
39+
40+
q, k = map(int, input().split())
41+
xy = [list(map(int, input().split())) for _ in range(q)]
42+
43+
d = [float('inf')]*n
44+
que = []
45+
dijkstra(k-1)
46+
47+
for x, y in xy:
48+
print(d[x-1]+d[y-1])
49+
50+
51+
'''using warshall-floyd is going to be TLE because of O(n^3)'''
52+
# n = int(input())
53+
54+
# d = [[float('inf')]*n for _ in range(n)]
55+
# for i in range(n-1):
56+
# a, b, c = map(int, input().split())
57+
# d[a-1][b-1] = c
58+
# d[b-1][a-1] = c
59+
60+
# for k in range(n):
61+
# for i in range(n):
62+
# for j in range(n):
63+
# if d[i][k]!=float('inf') and d[k][i]!=float('inf'):
64+
# d[i][j] = min(d[i][j], d[i][k] + d[k][j])
65+
66+
# q, k = map(int, input().split())
67+
# xy = [list(map(int, input().split())) for _ in range(q)]
68+
69+
# for x, y in xy:
70+
# print(d[x-1][k-1]+d[k-1][y-1])

ABC/ABC071/D.py

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
n = int(input())
2+
s =[list(input()) for _ in range(2)]
3+
mod = 10**9 + 7
4+
if s[0][0] == s[1][0]:
5+
start = 1
6+
ans = 3
7+
else:
8+
start = 2
9+
ans = 6
10+
11+
i = start
12+
while i < n:
13+
#check this position
14+
if s[0][i]==s[1][i]:
15+
v = 1
16+
j = 1
17+
else:
18+
v = 0
19+
j = 2
20+
21+
#check left
22+
if s[0][i-1] == s[1][i-1]:
23+
lv = 1
24+
else:
25+
lv = 0
26+
27+
if v == 1 and lv == 1:
28+
ans *= 2
29+
if v == 1 and lv == 0:
30+
ans *= 1
31+
if v == 0 and lv == 1:
32+
ans *= 2
33+
if v == 0 and lv == 0:
34+
ans *= 3
35+
36+
ans %= mod
37+
i += j
38+
39+
print(ans)

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ AtCoderの問題をpython3で解いたものになります。AC確認は行っ
88
## [AtCoder Beginner Contest](ABC)
99
| Problem A | Problem B | Problem C | Problem D | Problem E | Problem F |
1010
|:---:|:---:|:---:|:---:|:---:|:---:|
11-
|183/183 <img align="center" src="https://img.shields.io/badge/Completed!-green?style=for-the-badge"/>|183/183 <img align="center" src="https://img.shields.io/badge/Completed!-green?style=for-the-badge"/>|162/183|56/177|4/58|0/58|
11+
|183/183 <img align="center" src="https://img.shields.io/badge/Completed!-green?style=for-the-badge"/>|183/183 <img align="center" src="https://img.shields.io/badge/Completed!-green?style=for-the-badge"/>|162/183|58/177|4/58|0/58|
1212

1313

1414
### ABC001 - ABC041
@@ -68,8 +68,8 @@ AtCoderの問題をpython3で解いたものになります。AC確認は行っ
6868
|[ABC067](ABC/ABC067)|[&check;](ABC/ABC067/A.py)|[&check;](ABC/ABC067/B.py)|[&check;](ABC/ABC067/C.py)|||[ABC109](ABC/ABC109)|[&check;](ABC/ABC109/A.py)|[&check;](ABC/ABC109/B.py)|[&check;](ABC/ABC109/C.py)||
6969
|[ABC068](ABC/ABC068)|[&check;](ABC/ABC068/A.py)|[&check;](ABC/ABC068/B.py)|[&check;](ABC/ABC068/C.py)|||[ABC110](ABC/ABC110)|[&check;](ABC/ABC110/A.py)|[&check;](ABC/ABC110/B.py)|[&check;](ABC/ABC110/C.py)||
7070
|[ABC069](ABC/ABC069)|[&check;](ABC/ABC069/A.py)|[&check;](ABC/ABC069/B.py)|[&check;](ABC/ABC069/C.py)|[&check;](ABC/ABC069/D.py)||[ABC111](ABC/ABC111)|[&check;](ABC/ABC111/A.py)|[&check;](ABC/ABC111/B.py)|[&check;](ABC/ABC111/C.py)||
71-
|[ABC070](ABC/ABC070)|[&check;](ABC/ABC070/A.py)|[&check;](ABC/ABC070/B.py)|[&check;](ABC/ABC070/C.py)|||[ABC112](ABC/ABC112)|[&check;](ABC/ABC112/A.py)|[&check;](ABC/ABC112/B.py)|[&check;](ABC/ABC112/C.py)||
72-
|[ABC071](ABC/ABC071)|[&check;](ABC/ABC071/A.py)|[&check;](ABC/ABC071/B.py)|[&check;](ABC/ABC071/C.py)|||[ABC113](ABC/ABC113)|[&check;](ABC/ABC113/A.py)|[&check;](ABC/ABC113/B.py)|[&check;](ABC/ABC113/C.py)||
71+
|[ABC070](ABC/ABC070)|[&check;](ABC/ABC070/A.py)|[&check;](ABC/ABC070/B.py)|[&check;](ABC/ABC070/C.py)|[&check;](ABC/ABC070/D.py)||[ABC112](ABC/ABC112)|[&check;](ABC/ABC112/A.py)|[&check;](ABC/ABC112/B.py)|[&check;](ABC/ABC112/C.py)||
72+
|[ABC071](ABC/ABC071)|[&check;](ABC/ABC071/A.py)|[&check;](ABC/ABC071/B.py)|[&check;](ABC/ABC071/C.py)|[&check;](ABC/ABC071/D.py)||[ABC113](ABC/ABC113)|[&check;](ABC/ABC113/A.py)|[&check;](ABC/ABC113/B.py)|[&check;](ABC/ABC113/C.py)||
7373
|[ABC072](ABC/ABC072)|[&check;](ABC/ABC072/A.py)|[&check;](ABC/ABC072/B.py)|[&check;](ABC/ABC072/C.py)|[&check;](ABC/ABC072/D.py)||[ABC114](ABC/ABC114)|[&check;](ABC/ABC114/A.py)|[&check;](ABC/ABC114/B.py)|[&check;](ABC/ABC114/C.py)||
7474
|[ABC073](ABC/ABC073)|[&check;](ABC/ABC073/A.py)|[&check;](ABC/ABC073/B.py)|[&check;](ABC/ABC073/C.py)|||[ABC115](ABC/ABC115)|[&check;](ABC/ABC115/A.py)|[&check;](ABC/ABC115/B.py)|[&check;](ABC/ABC115/C.py)||
7575
|[ABC074](ABC/ABC074)|[&check;](ABC/ABC074/A.py)|[&check;](ABC/ABC074/B.py)||||[ABC116](ABC/ABC116)|[&check;](ABC/ABC116/A.py)|[&check;](ABC/ABC116/B.py)|[&check;](ABC/ABC116/C.py)||

0 commit comments

Comments
 (0)