您的位置:首页 > 运维架构

Topcoder SRM 514div2 500point

2011-08-10 14:24 357 查看
可以说是一道水题,本以为dfs一下就ok,但是仔细想想,是有规律的,因为题目说可以任意使用,所以,只要jumptype里面有偶数,就一定yes,为啥呢?因为以2为例,2是可以到达棋盘任何地方的,推广到其它偶数,他们都可以到达任何地方。另外,当(x+y)为偶数时,也一定yes

#include <vector>
#include <list>
#include <map>
#include <set>
#include <deque>
#include <stack>
#include <bitset>
#include <algorithm>
#include <functional>
#include <numeric>
#include <utility>
#include <sstream>
#include <iostream>
#include <iomanip>
#include <cstdio>
#include <cmath>
#include <cstdlib>
#include <ctime>
using namespace std;

class MagicalGirlLevelTwoDivTwo {
public:
string isReachable(vector <int>, int, int);
bool dfs(int s,int t,int x,int y);
};

string MagicalGirlLevelTwoDivTwo::isReachable(vector <int> v, int x, int y) {
int i,j;
if(!x&&!y)return "YES";
bool even=0;
for(i=0;i<v.size();i++)
if(v[i]%2==0)even=1;
if(even)return "YES";
if((x+y)%2==0)return "YES";
return "NO";
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: