tc终于变绿了。。。

    今天做了一场topcoder,终于让我的万年灰号变成绿色的了。。。

    虽然么有cha人代码,呵呵

   今天的题目不是很难,所以比较轻松的解决了前两个水题

  第一题ImportantTasks是给你两堆数字,让你找出上一堆比下一堆小的数最多有几对,要一一对应。。。

  排序,然后直接水过…

#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; #define PB pushback #define MP makepair #define REP(i,n) for(i=0;i=(l);--i) typedef vector VI; typedef vector VS; typedef vector VD; typedef long long LL; typedef pair PII; class ImportantTasks { public: int maximalCost(vector complexity, vector computers) { bool hashh[100]={0}; int i,j,k=0,l; sort(complexity.begin(),complexity.end()); sort(computers.begin(),computers.end()); for(i=complexity.size()-1;i>=0;i--) { l=complexity[i]; for(j=0;j第二题KnightsTour就是骑士走棋盘,不过有些点不能走,而且每个点要动态更新权值。。。暴力+模拟。。。水过

#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; #define PB pushback #define MP makepair #define REP(i,n) for(i=0;i=(l);--i) typedef vector VI; typedef vector VS; typedef vector VD; typedef long long LL; typedef pair PII; int as[9][9]; int dir[8][2]={{2,1},{-2,1},{2,-1},{-2,-1},{1,2},{1,-2},{-1,2},{-1,-2}}; class KnightsTour { public: int visitedPositions(vector board) { int k,i,j; struct knight{ int x,y; int t; bool ha[9][9]; bool move(vector bo) { int i,j,k,si,sj,ax=-1,ay=-1,ass=-1; for(i=0;i=8||sj>=8) continue; if(ha[si][sj]) continue; if(bo[si][sj]'') continue; if(ax-1||(ass>as[si][sj])||(assas[si][sj]&&ax>si)||(assas[si][sj]&&ax==si&&ay>sj)) { ax=si; ay=sj; ass=as[si][sj]; } } if(ax!=-1) { ha[ax][ay]=1; x=ax; y=ay; t++; memset(as,0,sizeof(as)); for(i=0;i=8||sj>=8) continue; if(bo[si][sj]!=''&&!ha[si][sj]) as[i][j]++; } } } } return 1; }else return 0; } }; knight head; memset(as,0,sizeof(as)); for(i=0;i=8||sj>=8) continue; if(board[si][sj]!='*'&&!head.ha[si][sj]) as[i][j]++; } } } while(head.move(board)); return head.t; }

第三题没能看完,因为临时有事情出去了。。。回来一看,自己的号终于变绿了。。。

  话说今天这一场是facebook赞助的。。。