반응형
A.
int main() {
fastio();
int T;
cin >> T;
while(T--) {
int x;
cin >> x;
if(x<=1399) cout << "Division 4\n";
else if(x<=1599) cout << "Division 3\n";
else if(x<=1899) cout << "Division 2\n";
else cout << "Division 1\n";
}
}
B.
int main() {
fastio();
int T;
cin >> T;
while(T--) {
int N;
cin >> N;
map<int, int> mp;
int ans=99999999;
for(int i=0; i<N; i++) {
int k;
cin >> k;
mp[k]++;
if(mp[k]==3) {
ans=k;
}
}
if(ans==99999999) cout << -1 << '\n';
else cout << ans << '\n';
}
}
C.
int main() {
fastio();
int T;
cin >> T;
while(T--) {
int N;
cin >> N;
vector<int> arr(N+5);
for(int i=0; i<N; i++) {
cin >> arr[i];
}
int oarr=0;
int earr=0;
if(arr[0]%2==1) {
oarr=1;
} else {
oarr=2;
}
if(arr[1]%2==1) {
earr=1;
} else {
earr=2;
}
bool f=false;
for(int i=0; i<N; i+=2) {
if(oarr==1) {
if(arr[i]%2!=1) {
f=true;
break;
}
} else {
if(arr[i]%2!=0) {
f=true;
break;
}
}
}
for(int i=1; i<N; i+=2) {
if(earr==1) {
if(arr[i]%2!=1) {
f=true;
break;
}
} else {
if(arr[i]%2!=0) {
f=true;
break;
}
}
}
if(f) cout << "NO\n";
else cout << "YES\n";
}
}
D.
int main() {
fastio();
int T;
cin >> T;
while(T--) {
int N;
cin >> N;
string s;
cin >> s;
int r=0;
int b=0;
bool f=false;
for(int i=0; i<s.size(); i++) {
if(s[i]=='W') {
if((r==0 && b>0) || (r>0 && b==0)) {
cout << "NO\n";
f=true;
break;
} else {
r=0;
b=0;
}
} else {
if(s[i]=='B') b++;
else r++;
}
}
if(!f) {
if ((r == 0 && b > 0) || (r > 0 && b == 0)) {
cout << "NO\n";
} else {
cout << "YES\n";
}
}
}
}
F.
int main() {
fastio();
int T;
cin >> T;
while(T--) {
int N;
cin >> N;
vector<int> arr(N+2);
vector<int> ssum(N+2);
vector<int> rsum(N+2);
for(int i=0; i<N; i++) {
cin >> arr[i];
if(i==0) ssum[i]=arr[i];
else ssum[i] = arr[i] + ssum[i-1];
}
for(int i=N-1; i>=0; i--) {
if(i==N-1) rsum[i]=arr[i];
else rsum[i] = arr[i] + rsum[i+1];
}
int l = 0;
int r = N-1;
int cnt=2;
int ans=0;
while(l < r) {
if(ssum[l] > rsum[r]) {
r--;
cnt++;
} else if(ssum[l] < rsum[r]) {
l++;
cnt++;
} else {
ans = max(cnt, ans);
cnt++;
l++;
}
}
cout << ans << '\n';
}
}
G.
char arr[55][55];
char brr[55][55];
int main() {
fastio();
int T;
cin >> T;
while(T--) {
int N, M;
cin >> N >> M;
for(int i=0; i<N; i++) {
string s;
cin >> s;
for(int j=0; j<M; j++) {
arr[i][j] = s[j];
brr[i][j] = '.';
}
}
for(int j=0; j<M; j++) {
queue<char> q;
for(int i=N-1; i>=0; i--) {
if(arr[i][j]=='o' || arr[i][j]=='*') {
q.push(arr[i][j]);
}
}
for(int i=N-1; i>=0; i--) {
if(arr[i][j]=='o') {
q.pop();
brr[i][j]='o';
} else {
if(!q.empty() && q.front()=='*') {
brr[i][j]='*';
q.pop();
}
}
}
}
for(int i=0; i<N; i++) {
for(int j=0; j<M; j++) {
cout << brr[i][j];
}
cout << '\n';
}
}
}반응형
'Codeforces' 카테고리의 다른 글
| [코드포스 - 2] 929 Div.3 A, B, C 풀이 (0) | 2024.02.28 |
|---|---|
| [코드포스 - 1] 927 Div.3 A, B, D 풀이 (0) | 2024.02.20 |