pat a 1166
이 문 제 는 팀 내 모든 사람 이 친구 이 고 한 사람 을 임의로 넣 으 면 이런 관 계 를 망 칠 수 있다 면 Area% d is OK 를 출력 하 라 고 합 니 다. \;만약 그룹 내 모든 사람 이 친구 이지 만 다른 사람 을 넣 고 이런 관 계 를 유지 할 수 있다 면 Area% d may invite more people 을 출력 해 야 합 니 다. 예 를 들 어% d.;친구 가 아 닌 두 사람 이 있 으 면 Area% d needs help 를 출력 합 니 다.;그리고 코드 로 이 세 가지 상황 을 번역 했다. 나 는 빠 른 알고리즘 을 생각 하지 않 았 다.
#include
#include
#include
using namespace std;
const int maxv=210;
int g[maxv][maxv];
bool flag[maxv];
int main(){
memset(g,0,sizeof(g));
int n,m;
cin>>n>>m;
for(int i=0;i<m;i++){
int v1,v2;
cin>>v1>>v2;
g[v1][v2]=1;
g[v2][v1]=1;
}
int k;
cin>>k;
for(int i=1;i<=k;i++){
int num;
cin>>num;
vector<int> list;
memset(flag,false,sizeof(flag));
for(int j=0;j<num;j++){
int id;
cin>>id;
list.push_back(id);
flag[id]=true;
}
bool isallfriend=true;
for(int j=0;j<list.size()-1;j++){
for(int l=j+1;l<list.size();l++){
if(g[list[j]][list[l]]==0){
isallfriend=false;
break;
}
}
if(isallfriend==false){
break;
}
}
bool ismax=true;
int addfriend;
for(int j=1;j<=n;j++){
int cnt=0;
if(flag[j]==false){
for(int l=0;l<list.size();l++){
if(g[j][list[l]]==1){
cnt++;
}
}
if(cnt==list.size()){
ismax=false;
addfriend=j;
break;
}
}
}
if(ismax&&isallfriend){
printf("Area %d is OK.
",i);
}else if(isallfriend&&ismax==false){
printf("Area %d may invite more people, such as %d.
",i,addfriend);
}else{
printf("Area %d needs help.
",i);
}
}
return 0;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.