zoukankan      html  css  js  c++  java
  • PAT 甲级 1148 Werewolf

    1148 Werewolf - Simple Version

    思路:

    按顺序遍历每一种狼人的可能,按题目所给最小序列的顺序遍历;
    每次遍历检测所说的话,假话两条且有一条是狼人说的就ok;

    代码:

    #include<iostream>
    #include<vector>
    #include<algorithm>
    using namespace std;
    int main()
    {
     int n,sts[101]; 
     scanf("%d",&n);
     for(int i=1;i<=n;i++)
    	scanf("%d",&sts[i]);
     for(int i=1;i<n;i++)
    	for(int j=i+1;j<=n;j++)
    	{
       		vector<int> v;
       		for(int k=1;k<=n;k++)
      	 	if(sts[k]==i||sts[k]==j||(sts[k]<0&&sts[k]!=-i&&sts[k]!=-j))
       			v.push_back(k);
       		if(v.size()==2&&(binary_search(v.begin(),v.end(),i)^binary_search(v.begin(),v.end(),j)))
       		{
       			printf("%d %d",i,j);
       			return 0;    
      		}   
      	}     
     printf("No Solution");
     return 0;
    }
  • 相关阅读:
    做才是得到
    常用工具汇总
    迎接2017
    新年礼物
    2017
    asp.net core 日志
    板子|无向图的割点
    11/06信竞快乐模拟赛
    动态规划复习
    894D
  • 原文地址:https://www.cnblogs.com/yuhan-blog/p/12309107.html
Copyright © 2011-2022 走看看