[BAEKJOON] 3758번 KCPC

2024. 5. 20. 12:56·Algorithm/구현, 시뮬레이션

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

문제조건
  1. 총 k개의 문제
  2. 풀이를 제출한 팀의 ID, 문제 번호, 점수가 서버의 로그에 제출되는 시간 순서대로 저장
  3. 한 문제에 대해 여러번 제출한다면 가장 높은 점수가 그 문제의 최종점수 (좋은데,,?)
  4. 최종 점수가 같은 경우
    1. 풀이를 제출한 횟수가 적은 팀의 순위가 높다.
    2. 제출 횟수도 같은 경우  
      1.  마지막 제출 시간이 더 빠른 팀의 순위가 높다. 
  5. 우리 팀의 순위는?
접근방법

 

딱히 접근방법이라할게 없었다. 문제의 조건이 까다로운 만큼 문제에서 요구하는 그대로 구현만 잘 해주면 되는 문제였다. 그리고 나는 따로 구조체를 만들고 그에 맞게 정렬을 해주었다.

 

 

소스코드
#include <iostream>
#include <vector>
#include <algorithm>
#define MAX 101
using namespace std;

int T;

struct info {
	int score;
	int num;
	int time;
	int teamNum;
};

bool cmp(info a, info b) {
	if (a.score == b.score) {
		if (a.num == b.num) return a.time < b.time;
		return a.num < b.num;
	}
	return a.score > b.score;
}

int main() {
	cin >> T;
	while (T--) {
		int n, k, t, m;
		cin >> n >> k >> t >> m;
		int team[MAX][MAX] = { 0 };
		int cnt[MAX] = { 0 };
		int order[MAX] = { 0 };
		vector<info> v;
		for (int log = 0; log < m; log++) {
			int i, j, s;
			cin >> i >> j >> s;
			if (team[i][j] < s) team[i][j] = s;
			cnt[i]++;
			order[i] = log;
		}

		for (int i = 1; i <= n; i++) {
			int sum = 0;
			for (int j = 1; j <= k; j++) sum += team[i][j];
			v.push_back({ sum, cnt[i], order[i], i });
		}
		sort(v.begin(), v.end(), cmp);
		for (int i = 0; i < n; i++)
			if (v[i].teamNum == t) cout << i + 1 << '\n';
	}
}

구현의 정석(?) 같은 느낌의문제였다.

'Algorithm > 구현, 시뮬레이션' 카테고리의 다른 글

[BAEKJOON] 14719번 빗물  (0) 2024.05.21
[BAEKJOON] 15685번 드래곤 커브  (1) 2024.04.10
[BAEKJOON] 13458번 시험 감독  (0) 2024.04.06
[BAEKJOON] 3190번 뱀  (0) 2024.04.06
[BAEKJOON] 13460번 구슬 탈출 2  (0) 2024.04.05
'Algorithm/구현, 시뮬레이션' 카테고리의 다른 글
  • [BAEKJOON] 14719번 빗물
  • [BAEKJOON] 15685번 드래곤 커브
  • [BAEKJOON] 13458번 시험 감독
  • [BAEKJOON] 3190번 뱀
Ls._.Rain
Ls._.Rain
안되면 될때까지 삽질했던 기록
  • Ls._.Rain
    Ls{Diary}
    Ls._.Rain
  • 전체
    오늘
    어제
    • 분류 전체보기 (136)
      • Github (2)
      • Spring (51)
        • Batch Programming (13)
        • 결제 (4)
        • 대용량 트래픽 (32)
        • OpenAI (0)
        • Security (0)
        • WebSocket (0)
        • JPA (1)
      • Algorithm (67)
        • DFS (6)
        • BFS (6)
        • Dynamic Programming (10)
        • Brute Force (4)
        • Binary Search (6)
        • 구현, 시뮬레이션 (15)
        • Stack (1)
        • Greedy (4)
        • Priority_Queue (2)
        • Back Tracking (3)
        • Geometry (2)
        • SCC (1)
        • 투포인터 (4)
        • 최대유량 (1)
        • 정렬 (1)
      • OS (0)
      • DevOps (15)
        • AWS (11)
        • Docker (4)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • hELLO· Designed By정상우.v4.10.0
Ls._.Rain
[BAEKJOON] 3758번 KCPC
상단으로

티스토리툴바