[백준 26392] Desni klik (C#, C++) - soo:bak
작성일 :
문제 링크
설명
여러 NFPs
, (Noa’s Financial Products) 의 불안정성을 계산하는 문제입니다.
각 NFP
는 r
행 s
열의 행렬로 표현되며, 각 열에서 #
문자의 위치는 NFP
의 값(해당 열에서의 위치)을 나타냅니다.
NFP
의 불안정성은 주어진 기간 동안 NFP
가 도달하는 최대값과 최소값의 차이로 정의됩니다.
Code
[ C# ]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
namespace Solution {
class Program {
static void Main(string[] args) {
var inputs = Console.ReadLine()!.Split(' ').Select(int.Parse).ToArray();
int n = inputs[0], r = inputs[1], s = inputs[2];
for (int i = 0; i < n; i++) {
int maxValue = int.MinValue;
int minValue = int.MaxValue;
for (int j = 0; j < r; j++) {
string row = Console.ReadLine()!;
for (int k = 0; k < s; k++) {
if (row[k] == '#') {
int value = r - j;
maxValue = Math.Max(maxValue, value);
minValue = Math.Min(minValue, value);
}
}
}
int insecurity = maxValue - minValue;
Console.WriteLine(insecurity);
}
}
}
}
[ C++ ]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include <bits/stdc++.h>
using namespace std;
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int n, r, s; cin >> n >> r >> s;
for (int i = 0; i < n; i++) {
int maxValue = numeric_limits<int>::min();
int minValue = numeric_limits<int>::max();
for (int j = 0; j < r; j++) {
string row; cin >> row;
for (int k = 0; k < s; k++) {
if (row[k] == '#') {
int value = r - j;
maxValue = max(maxValue, value);
minValue = min(minValue, value);
}
}
}
int insecurity = maxValue - minValue;
cout << insecurity << "\n";
}
return 0;
}