250x250
반응형
Notice
Recent Posts
Recent Comments
Link
N
(SWEA c++)3499. 퍼펙트 셔플 본문
728x90
반응형
카드를 반절로 나누기 때문에 인덱스를 앞, 뒤로 표현할 수 있는 변수가 필요하다.
bool형 check로 앞에 있는 덱인지, 뒤에 있는 덱인지 확인한다.
앞에 있는 덱이면 0 ~ 2 / n 인덱스 까지 ans 변수에 넣어주도록 한다.
뒤에 있는 덱이라면 n - (2 / n) ~ (n - 1) 인덱스까지 ans 변수에 넣어주면 된다.
check도 함께 바꿔주면 쉽게 답을 구할 수 있다.
#include <iostream>
#include <vector>
#include <string>
using namespace std;
int main(void)
{
int t;
cin >> t;
for(int tc = 1; tc <= t; tc++)
{
int n, f, b;
bool check = true;
vector<string> v, ans;
cin >> n;
f = 0;
b = n - (n / 2);
for(int i = 0; i < n; i++)
{
string s;
cin >> s;
v.push_back(s);
}
for(int i = 0; i < n; i++)
{
if(check)
{
ans.push_back(v[f++]);
check = false;
}
else
{
ans.push_back(v[b++]);
check = true;
}
}
cout << "#" << tc << " ";
for(int i = 0; i < n; i++)
cout << ans[i] << " ";
cout << endl;
}
return 0;
}
728x90
반응형
'SW Expert Academy' 카테고리의 다른 글
(SWEA c++)3809. 화섭이의 정수 나열 (0) | 2020.11.09 |
---|---|
(SWEA c++)3750. Digit sum (0) | 2020.11.09 |
(SWEA c++)3456. 직사각형 길이 찾기 (0) | 2020.11.09 |
(SWEA c++)3431. 준환이의 운동관리 (0) | 2020.11.09 |
(SWEA c++)3307. 최장 증가 부분 수열 (0) | 2020.11.09 |