※ 글쓴이는 취미로 코딩을 익혀보는 사람이라 정확하지 않은 내용을 담고 있을 수 있다 ※

 

이번에 볼 문제는 백준 22123번 문제인 Экзамен이다.
문제는 아래 링크를 확인하자.

https://www.acmicpc.net/problem/22123 

 

22123번: Экзамен

Игорь — хороший программист, но большой разгильдяй. Проиграв весь семестр в компьютерные игры и просмотрев очень много сериалов и фильмов,

www.acmicpc.net

입력으로 들어오는 두 시간을 이용해 총 시험시간을 초단위로 계산해두고, 이를 프로그램 작성 시간과 비교해 적절한 문자열을 출력하는 문제이다.

 

입력으로 주어지는 프로그램 작성 시간이 분 단위임에 유의하여 구현하자.

 

아래는 제출한 소스코드이다.

#include <iostream>
#include <string>
using namespace std;

int T;
string s1, s2; int l;
int t1, t2, t;

int main() {
	ios::sync_with_stdio(0);
	cin.tie(0);

	cin >> T;
	while (T--) {
		cin >> s1 >> s2 >> l; l *= 60;
		t1 = stoi(s1.substr(0, 2)) * 3600 + stoi(s1.substr(3, 2)) * 60 + stoi(s1.substr(6, 2));
		t2 = stoi(s2.substr(0, 2)) * 3600 + stoi(s2.substr(3, 2)) * 60 + stoi(s2.substr(6, 2));
		if (t1 >= t2) t = 86400 - (t1 - t2);
		else t = t2 - t1;
		if (l <= t) cout << "Perfect\n";
		else if (l <= t + 3600) cout << "Test\n";
		else cout << "Fail\n";
	}
}
728x90

'BOJ' 카테고리의 다른 글

[BOJ 10185 // C++] Focus  (0) 2023.01.07
[BOJ 26946 // C++] Tomater  (0) 2023.01.07
[BOJ 26583 // C++] Scale  (0) 2023.01.07
[BOJ 3554 // C++] Enigmatic Device  (0) 2023.01.07
[BOJ 24366 // C++] КЛЕТКИ  (0) 2023.01.07

+ Recent posts