๊ณต๋ถ€/์ฝ”๋”ฉ

[์•Œ๊ณ ๋ฆฌ์ฆ˜ ์Šคํ„ฐ๋””] 9์ฃผ์ฐจ ๊ฒฐ

sourceoftax 2025. 12. 16. 20:57

ํ•œ ํ•™๊ธฐ ๋™์•ˆ์˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์Šคํ„ฐ๋”” ๋...

์ฒซ ์‹œ์ž‘ ์‹ค๋ฒ„3์—์„œ ๊ณจ๋“œ5 ๋‹ฌ์„ฑ ์„ฑ๊ณต

 

 

1129

#include <bits/stdc++.h>
using namespace std;

int main() {
double xA, yA, xB, yB, xC, yC;
cin >> xA >> yA >> xB >> yB >> xC >> yC;

double cross = (xB - xA) * (yC - yA) - (yB - yA) * (xC - xA);


if (cross == 0) {
cout << -1 << '\n';
return 0;
}

auto dist = [&](double x1, double y1, double x2, double y2) {
return hypot(x1 - x2, y1 - y2);
};

double AB = dist(xA, yA, xB, yB);
double BC = dist(xB, yB, xC, yC);
double AC = dist(xA, yA, xC, yC);

double P1 = 2 * (AB + BC);
double P2 = 2 * (AB + AC);
double P3 = 2 * (AC + BC);

double mx = max({P1, P2, P3});
double mn = min({P1, P2, P3});

cout << fixed << setprecision(10) << (mx - mn) << "\n";
return 0;
}

 

1130

A, B = input().split()
n, m = len(A), len(B)

min_diff = float('inf')

for i in range(m - n + 1):
    diff = 0
    for j in range(n):
        if A[j] != B[i + j]:
            diff += 1
    min_diff = min(min_diff, diff)

print(min_diff)

 

1201

x, y, w, s = map(int, input().split())

if s > 2 * w:
    print((x + y) * w)

elif s <= w:
    if abs(x - y) % 2 == 0:
        print(max(x, y) * s)
    else:
        print((max(x, y) - 1) * s + w)

else:
    block = min(x, y)
    rest = abs(x - y)
    print(block * s + rest * w)

 

1202

S = input().strip()

suffixes = [S[i:] for i in range(len(S))]  
suffixes.sort()                           

for suf in suffixes:
    print(suf)

 

1203

n = int(input())
numbers = list(map(int, input().split()))

unique_numbers = sorted(set(numbers))

print(*unique_numbers)

 

1204

n, m= map(int, input().split())

visited = [False] * (n+1)
stack = []

def dfs():
    if len(stack) == m:
        print(*stack)
        return
        
    for num in range(1, n+1):
        if not visited[num]:
            visited[num] = True
            stack.append(num)

            dfs()

            visited[num] = False
            stack.pop()

dfs()

 

1207

import sys
input = sys.stdin.readline

N, M = map(int, input().split())
mat = [list(map(int, input().split())) for _ in range(N)]

ans = -10**15

for left in range(M):
    temp = [0] * N
    for right in range(left, M):
        for i in range(N):
            temp[i] += mat[i][right]

        current = temp[0]
        best = temp[0]
        for i in range(1, N):
            current = max(temp[i], current + temp[i])
            best = max(best, current)

        ans = max(ans, best)

print(ans)