제출 #1368868

#제출 시각아이디문제언어결과실행 시간메모리
1368868053thousandBOI Acronym (BOI25_boi)C++20
22 / 100
181 ms14184 KiB
#include<bits/stdc++.h>
using namespace std;
	int a,b[2005][2005],c[2005],d,e,f,bc,fb=1e9,cc[2005];
	vector<pair<int,int>>v;
	vector<int>ans;
	bool np=1;
int main(){
	cin>>a;
	for(int i=0;i<a;i++){
		for(int h=i;h<a;h++){
			cin>>b[i][h];
			if(i==0 and h==a-1) bc=b[i][h];
			if(h==a-1 and b[i][h]!=bc){
				fb=min(fb,i-1);
			}
		}
		
	}
	c[0]=1;
	d=0;
	v.push_back({1,1});
	for(int i=0;i<a-1;i++){
		if(b[i][i+1]==2) {
			c[i+1]=c[i];
			np=0;
		}
		else{
			c[i+1]=c[i]+1;
		}
		
	}
	if(np){
		int i=fb;
		while(i<a){
			ans.push_back(i);
			if(i>=a-2) break;
			if(b[i][i+2]==2){
				i+=2;
			}
			else{
				for(int h=i+1;h<a;h++){
					if(h>=a-2){
						i=a+33;
						break;
					} 
					if(b[h][h+2]==1) {
						i=h+2;
						break;	
					}
				}
			}
		}
		for(int i=0;i<ans.size();i++) cout<<ans[i]+1<<' ';
	}
	else{
	ans.push_back(fb);
	cc[fb]=1;
		for(int i=fb+1;i<a;i++){
			if(c[i]==c[i-1]){
				cc[i]=cc[i-1];
			}
			else cc[i]=1-cc[i-1];
			if(cc[i]==1) ans.push_back(i);
		}
				for(int i=0;i<ans.size();i++) cout<<ans[i]+1<<' ';
	}
}
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…