에이, 귀여운 꼬마

2137 단어 연습
에이, 귀여운 꼬마 타임 리 미트: 10000/3000 MS (자바/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 1670    Accepted Submission(s): 490   Problem Description 에이, 꼬마 는 좀 귀찮아.한 유치원 에서 선생님 은 게임 수업 을 해 야 합 니 다. N 명의 어린이 가 게임 을 하려 고 합 니 다. 게임 을 할 때 작은 공 을 사용 해 야 합 니 다. 그러나 유치원 에는 M 개의 작은 공 만 있 습 니 다. 그리고 어떤 어린이 들 은 일부 어린이 들 과 함께 하 는 것 을 좋아 하지 않 고 다른 어린이 들 과 함께 하 는 것 만 좋아 합 니 다. 예 를 들 어 바보 여자 들 은 바보, 바보, 바보 들 과 함께 하 는 것 만 좋아 합 니 다.바보 뿌리 는 바보 와 함께 노 는 것 을 좋아 하지 않 고, 바 보 는 바보 와 함께 노 는 것 을 좋아한다.그래서 선생님 은 그들 을 조 를 나 눌 수 밖 에 없 었 다. 각 조 에 적어도 한 개의 작은 공 을 가지 고 놀 수 있 었 고 각 조 에 두 명의 어린이 가 없 었 기 때문에 서로 좋아 하지 않 았 다.지금 당신 에 게 이런 유치원 어린이 들 의 관계 에 대한 묘 사 를 해 드 리 겠 습 니 다. 선생님 으로서 이 게임 수업 을 잘 할 수 있 습 니까?    Input 데 이 터 는 여러 개의 case 가 있 으 며, 케이스 마다 N (1 & lt; = N & gt; = 10) 과 M (1 & lt; = M & gt; = 10) 을 먼저 입력 하면 N 명의 어린이 (0 에서 N - 1 레이 블) 와 M 개의 작은 공이 있 음 을 나타 낸다.이 어 N 줄 이 있 고, i 줄 에 K (0 < = K) 를 먼저 입력 합 니 다.    Output 은 모든 케이스 에 대해 선생님 이 수업 을 잘 할 수 있다 면 YES 를 출력 합 니 다. 그렇지 않 으 면 NO 입 니 다.    Sample Input 3 2 2 1 2 2 2 0 2 0 1   Sample Output YES
 
#include
#include
#define N 11
using namespace std;
int vis[N];
bool map[N][N];
int n,m;
bool check(int v,int tag)//v号小朋友想进tag组
{
    for(int i=0;i=n)
        return true;
    else
    {
        for(int i=1;i<=m;i++)
        {
            if(vis[v]==0&&check(v,i))//先从v号小朋友开始放 先尝试放进1号皮球组 再尝试v+1号小朋友放进1号组 不行就回溯把v+1号小朋友放到2号组 以此类推 知道所有的小朋友都放进去 不然就都不成立 返回false
            {
                vis[v]=i;
                if(dfs(v+1))
                    return true;
                vis[v]=0;
            }
        }
    }
    return false;
}
int main()
{
    while(cin>>n>>m)
    {
        memset(map,false,sizeof(map));
        memset(vis,0,sizeof(vis));
        for(int i=0;i>a;
            for(int j=0;j>b;
map[i][b]=true;
map[b][i]=true;
}
}
if(m>=n)
cout<

참고:https://blog.csdn.net/qq_37230495/article/details/88660227

좋은 웹페이지 즐겨찾기