Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 1699번
- 백준 10799번 c++
- rigidbody.position
- 백준 10844번 c++
- transform.position
- TOPCIT 후기
- 플레이어 이동
- 풀이
- 백준 17299번 c++
- 백준 11726번 C++
- 유니티
- 프로그래머스 단체사진 찍기 C++
- rigidbody.Moveposition
- 배열 stack overflow
- 유니티 꿀팁
- 로블록스 script local script 차이
- TOPCIT 문제 유형
- 백준
- 프로그래머스 가장 큰 수 C++
- 백준 2193번 c++
- 차이
- 백준 2225번 c++
- c++
- UML Diagram 정리
- long int 의 차이
- 2644번
- 유니티 Rigidbody 이동
- bfs
- 코드
- 유니티 LTS
Archives
- Today
- Total
Kiki Devlog
[1158번][실5] 요세푸스 문제 본문
728x90
수정 전 코드에서 1 1을 넣으면 마지막에 ">"이 출력되지 않는 반례가 있어서 한번 틀렸던 문제.
식을 세우는데 시간이 걸리고 코드 구현은 쉬웠던 문제임
내 코드
#include<iostream>
#include <vector>
using namespace std;
int main() {
vector<int> v;
int totalSize;
int range;
int index=0;
cin >> totalSize>> range;
range--;
for (int i = 1; i <= totalSize; i++) {
v.push_back(i);
}
/*첫 원소 출력*/
index += range;
cout << "<"<< v[index];
v.erase(v.begin() + index);
/*나머지 원소 출력*/
for (int i = 1; i < totalSize; i++) {
index += range;
while (index >= v.size()) {//인덱스가 vector크기를 넘어가면 차이값만큼 다시 앞에서부터 세기
index -= v.size();
if (index < 0)
index = 0;
}
cout <<", " <<v[index];
v.erase(v.begin()+index);
}
cout << ">";
return 0;
}
1158번: 요세푸스 문제
첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 5,000)
www.acmicpc.net
+ 오늘 열리는 실버컵 대회가 있어서 들어가봤는데 너무 어려웠다. 코드 구현이 어려운게 아니라 식 세우는게 어려운 문제였다. 그래두 골드 위(티어 이름도 잘 모름) 사람들이 푸는 정도의 난이도인것 같아서 마음이 놓이면서도,, 그 사람들도 나랑 비슷한 또래일텐데 빨리 발전해야겠다 싶었다. 내 속도대로 파이팅! 난 실4가 눈앞임 :)
++ 알고보니 그 문제 골3문제였음 어쩐지 어렵더라. 골드돼서 혼내주러간다 딱기다려
'Coding Test > 백준' 카테고리의 다른 글
[10799번][실3] 쇠막대기 (0) | 2022.03.15 |
---|---|
[17413번][실3] 단어 뒤집기2 (0) | 2022.03.14 |
[1406번][실3] 에디터 (list 에서 iterator 로 이전,이후 원소 찾는법) (0) | 2022.03.12 |
[1874번][실3] 스택 수열 (endl 과 '\n' 차이) (0) | 2022.03.11 |
[10828번][실4] 스택 (0) | 2022.03.08 |
Comments