| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
ORZ WZC !!!!!!!!In Reply To:204MS 快速高效 优美易读 的 DFS ORZ WZC Posted by:wccy at 2012-08-10 20:17:52 > #include <iostream>
> #include <cstdio>
> #include <cstdlib>
> #include <cstring>
> #include <map>
> #include <algorithm>
> using namespace std;
> struct _________
> {int ____,_____;};
> struct __________
> {_________ _[5];}___________________,____________________;
> map<int , bool> _____________;
> bool ___________[10][10];
> int ________________[] = {-1, 1, 0, 0};
> int _________________[] = { 0, 0, 1,-1};
> inline bool ______________(const _________ &_______ ,const _________ &________)
> {
> if(_______.____ != ________.____)
> return _______.____ < ________.____;
> return _______._____ < ________._____;
> }
> inline bool _______________(int ____, int _____)
> {
> if(____ >= 1 && _____ >= 1 && ____ <= 8 && _____ <= 8)
> return true;
> return false;
> }
> inline bool _______________________(const __________ &____________)
> {
> __________ ___________________ = ____________;
> sort(___________________._+1,___________________._+5,______________);
> int _____________________ = 1,__________________________(0);
> for(int ___ = 1; ___ <= 4; ___++)
> {
> __________________________ += ___________________._[___].____*_____________________;
> _____________________ *= 10;
> __________________________ += ___________________._[___]._____*_____________________;
> _____________________ *= 10;
> }
> return _____________[__________________________];
> }
> inline void ________________________(const __________ &____________)
> {
> __________ ___________________ = ____________;
> sort(___________________._+1,___________________._+5,______________);
> int _____________________ = 1,__________________________(0);
> for(int ___ = 1; ___ <= 4; ___++)
> {
> __________________________ += ___________________._[___].____*_____________________;
> _____________________ *= 10;
> __________________________ += ___________________._[___]._____*_____________________;
> _____________________ *= 10;
> }
> _____________[__________________________] = true;
> }
> inline void __________________(const __________ &_______,int ______________________)
> {
> ________________________(_______);
> if(______________________ == 4) return;
> memset(___________,0,sizeof ___________);
> for(int ___ = 1; ___ <= 4; ___++)
> ___________[_______._[___].____][_______._[___]._____] = true;
> for(int ___ = 1; ___ <= 4; ___++)
> for(int ______ = 0; ______ < 4; ______++)
> if(_______________(_______._[___].____+________________[______],_______._[___]._____+_________________[______]))
> {
> if(___________[_______._[___].____+________________[______]][_______._[___]._____+_________________[______]])
> {
> if(_______________(_______._[___].____ + 2*________________[______],_______._[___]._____ + 2*_________________[______])&&___________[_______._[___].____ + 2*________________[______]][_______._[___]._____ + 2*_________________[______]]==0)
> {
> __________ __ = _______;
> __._[___].____ = _______._[___].____ + 2*________________[______];
> __._[___]._____ = _______._[___]._____ + 2*_________________[______];
> __________________(__,______________________+1);
> }
> }
> else
> {
> __________ __ = _______;
> __._[___].____ = _______._[___].____ + ________________[______];
> __._[___]._____ = _______._[___]._____ + _________________[______];
> __________________(__,______________________+1);
> }
> }
> }
> inline bool _________________________(const __________ &_______,int ______________________)
> {
>
> if(_______________________(_______))
> return true;
> if(______________________ == 4) return false;
> memset(___________,0,sizeof ___________);
> for(int ___ = 1; ___ <= 4; ___++)
> ___________[_______._[___].____][_______._[___]._____] = true;
> for(int ___ = 1; ___ <= 4; ___++)
> for(int ______ = 0; ______ < 4; ______++)
> if(_______________(_______._[___].____+________________[______],_______._[___]._____+_________________[______]))
> {
> if(___________[_______._[___].____+________________[______]][_______._[___]._____+_________________[______]])
> {
> if(_______________(_______._[___].____ + 2*________________[______],_______._[___]._____ + 2*_________________[______])&&___________[_______._[___].____ + 2*________________[______]][_______._[___]._____ + 2*_________________[______]]==0)
> {
> __________ __ = _______;
> __._[___].____ = _______._[___].____ + 2*________________[______];
> __._[___]._____ = _______._[___]._____ + 2*_________________[______];
> if(_________________________(__,______________________+1))
> return true;
> }
> }
> else
> {
> __________ __ = _______;
> __._[___].____ = _______._[___].____ + ________________[______];
> __._[___]._____ = _______._[___]._____ + _________________[______];
> if(_________________________(__,______________________+1))
> return true;
> }
> }
> return false;
> }
> int main()
> {
> while(~scanf("%d%d",&___________________._[1].____,&___________________._[1]._____))
> {
> _____________.clear();
> for(int ___ = 2; ___ <= 4; ___++)
> scanf("%d%d",&___________________._[___].____,&___________________._[___]._____);
> for(int ___ = 1; ___ <= 4; ___++)
> scanf("%d%d",&____________________._[___].____,&____________________._[___]._____);
> __________________(___________________,0);
> if(_________________________(____________________,0)) puts("YES");
> else puts("NO");
> }
> return 0;
> }
ORZ WZC !!!!!!!!
ORZ WZC !!!!!!!!ORZ WZC !!!!!!!!
ORZ WZC !!!!!!!!
ORZ WZC !!!!!!!!
Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator