본문 바로가기

728x90
반응형

전체 글

(151)
[C++] 20920 : 영단어 암기는 괴로워 https://www.acmicpc.net/problem/20920 20920번: 영단어 암기는 괴로워 첫째 줄에는 영어 지문에 나오는 단어의 개수 $N$과 외울 단어의 길이 기준이 되는 $M$이 공백으로 구분되어 주어진다. ($1 \leq N \leq 100\,000$, $1 \leq M \leq 10$) 둘째 줄부터 $N+1$번째 줄까지 외울 단 www.acmicpc.net #include using namespace std; int n, m; map dic; bool fun(pair a, pair b) { if (a.second == b.second) { if (a.first.length() == b.first.length()) { return a.first < b.first; } return a...
[C++] 13305 : 주유소 https://www.acmicpc.net/problem/13305 13305번: 주유소 표준 입력으로 다음 정보가 주어진다. 첫 번째 줄에는 도시의 개수를 나타내는 정수 N(2 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 인접한 두 도시를 연결하는 도로의 길이가 제일 왼쪽 도로부터 N-1 www.acmicpc.net #include using namespace std; int n; vector load; vector city; vector price; long long ans; int main(void) { cin >> n; long long input; for (int i = 1; i > input; load.push_back(input); } for (int i..
[C++] 9017 : 크로스 컨트리 https://www.acmicpc.net/problem/9017 9017번: 크로스 컨트리 입력 데이터는 표준입력을 사용한다. 입력은 T 개의 테스트 케이스로 주어진다. 입력 파일의 첫 번째 줄에 테스트 케이스의 수를 나타내는 정수 T 가 주어진다. 두 번째 줄부터는 두 줄에 하나의 www.acmicpc.net #include using namespace std; int T; int n; int member[1111]; int score[1111]; int five[1111]; int ans; int main(void) { ios_base::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr); int input; cin >> T; while (T-..
[C++] 22866 : 탑 보기 https://www.acmicpc.net/problem/22866 22866번: 탑 보기 3번째 건물에서 볼 수 있는 건물은 2, 4, 8번째 건물로 총 3개를 볼 수 있다. 그 중 3번째 건물과 가장 가까운 건물은 2, 4번째 있는 건물로 이 중 번호가 작은 번호인 2가 답이 된다. www.acmicpc.net #include using namespace std; int n; int bd[112345]; stack ls; // 왼쪽 출발 스택 stack rs; // 오른쪽 출발 스택 int num[112345]; map near; // near[건물번호]={왼쪽 볼 수 있는 건물, 오른쪽 볼 수 있는 건물} int main(void) { cin >> n; ls.push({112345, 0}); rs...
[C++] 2206 : 벽 부수고 이동하기 https://www.acmicpc.net/problem/2206 2206번: 벽 부수고 이동하기 N×M의 행렬로 표현되는 맵이 있다. 맵에서 0은 이동할 수 있는 곳을 나타내고, 1은 이동할 수 없는 벽이 있는 곳을 나타낸다. 당신은 (1, 1)에서 (N, M)의 위치까지 이동하려 하는데, 이때 최단 경로 www.acmicpc.net #include using namespace std; int N, M; int MAP[1111][1111]; int visitMAP[1111][1111][2]; int dx[] = {0, 0, -1, 1}; int dy[] = {-1, 1, 0, 0}; int main(void) { cin >> N >> M; for (int i = 1; i M; for (int i = 1..
[C++] 1238 : 파티 https://www.acmicpc.net/problem/1238 1238번: 파티 첫째 줄에 N(1 ≤ N ≤ 1,000), M(1 ≤ M ≤ 10,000), X가 공백으로 구분되어 입력된다. 두 번째 줄부터 M+1번째 줄까지 i번째 도로의 시작점, 끝점, 그리고 이 도로를 지나는데 필요한 소요시간 Ti가 들어 www.acmicpc.net #include using namespace std; #define INF 1123456789 int n, m, x; vector v[1111]; // v[시작점]={비용,끝점} int d[1111]; int ans; int fun(int start, int end) { fill(d, d + n + 1, INF); priority_queue pq; pq.push({0..
[C++] 2096 : 내려가기 https://www.acmicpc.net/problem/2096 2096번: 내려가기 첫째 줄에 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 숫자가 세 개씩 주어진다. 숫자는 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 중의 하나가 된다. www.acmicpc.net #include using namespace std; int n; vector v[3]; int dmax[3], dmin[3]; int pmax[3], pmin[3]; // 이전 3개 int main() { cin >> n; int input; for (int i = 0; i > input; v[j].push_back(input..
[C++] 2179 : 비슷한 단어 https://www.acmicpc.net/problem/2179 2179번: 비슷한 단어 첫째 줄에 S를, 둘째 줄에 T를 출력한다. 단, 이 두 단어는 서로 달라야 한다. 즉, 가장 비슷한 두 단어를 구할 때 같은 단어는 제외하는 것이다. www.acmicpc.net #include using namespace std; int n; vector v; map ms; // int main(void) { string input; cin >> n; for (int i = 0; i > input; v.push_back(input); } for (int a = 0; a < v.size(); a++) { string sb = ""; for (int i = 0; i < v[a].len..

728x90
반응형