zoukankan      html  css  js  c++  java
  • TC SRM 570

    250pt:

    给一个操作序列,每次向当前方向走a[i]步,然后90度转a[i]次,问做T次该操作序列之后的位置与起始位置的manhattan距离。

    首先肯定做完4次操作序列后肯定能还原方向,那么模拟做完剩下的就行了。

      1 #include <vector>
      2 #include <list>
      3 #include <map>
      4 #include <set>
      5 #include <queue>
      6 #include <deque>
      7 #include <stack>
      8 #include <bitset>
      9 #include <algorithm>
     10 #include <functional>
     11 #include <numeric>
     12 #include <utility>
     13 #include <sstream>
     14 #include <iostream>
     15 #include <iomanip>
     16 #include <cstdio>
     17 #include <cmath>
     18 #include <cstdlib>
     19 #include <ctime>
     20 
     21 using namespace std;
     22 
     23 
     24 class RobotHerb {
     25 public:
     26     long long getdist(int T, vector <int> a) {
     27         long long x=0,y=0,dir=0;
     28         for (int c=0;c<4;c++)
     29             for (int b=0;b<(int)a.size();b++)
     30             {
     31                 if (dir==0) y+=a[b];
     32                 else
     33                 {
     34                     if (dir==1) x+=a[b];
     35                     else
     36                     {
     37                         if (dir==2) y-=a[b];
     38                         else x-=a[b];
     39                     }
     40                 }
     41                 dir+=a[b];
     42                 dir%=4;
     43             }
     44         long long ans=(abs(x)+abs(y))*(T/4);
     45         x=0,y=0,dir=0;
     46         for (int c=0;c<T%4;c++)
     47             for (int b=0;b<(int)a.size();b++)
     48             {
     49                 if (dir==0) y+=a[b];
     50                 else
     51                 {
     52                     if (dir==1) x+=a[b];
     53                     else
     54                     {
     55                         if (dir==2) y-=a[b];
     56                         else x-=a[b];
     57                     }
     58                 }
     59                 dir+=a[b];
     60                 dir%=4;
     61             }
     62         return ans+abs(x)+abs(y);
     63     }
     64 };
     65 
     66 
     67 //<%:testing-code%>
     68 //Powered by KawigiEdit 2.1.4 (beta) modified by pivanof!
     69 // BEGIN KAWIGIEDIT TESTING
     70 // Generated by KawigiEdit 2.1.4 (beta) modified by pivanof
     71 bool KawigiEdit_RunTest(int testNum, int p0, vector <int> p1, bool hasAnswer, long long p2) {
     72     cout << "Test " << testNum << ": [" << p0 << "," << "{";
     73     for (int i = 0; int(p1.size()) > i; ++i) {
     74         if (i > 0) {
     75             cout << ",";
     76         }
     77         cout << p1[i];
     78     }
     79     cout << "}";
     80     cout << "]" << endl;
     81     RobotHerb *obj;
     82     long long answer;
     83     obj = new RobotHerb();
     84     clock_t startTime = clock();
     85     answer = obj->getdist(p0, p1);
     86     clock_t endTime = clock();
     87     delete obj;
     88     bool res;
     89     res = true;
     90     cout << "Time: " << double(endTime - startTime) / CLOCKS_PER_SEC << " seconds" << endl;
     91     if (hasAnswer) {
     92         cout << "Desired answer:" << endl;
     93         cout << "	" << p2 << endl;
     94     }
     95     cout << "Your answer:" << endl;
     96     cout << "	" << answer << endl;
     97     if (hasAnswer) {
     98         res = answer == p2;
     99     }
    100     if (!res) {
    101         cout << "DOESN'T MATCH!!!!" << endl;
    102     } else if (double(endTime - startTime) / CLOCKS_PER_SEC >= 2) {
    103         cout << "FAIL the timeout" << endl;
    104         res = false;
    105     } else if (hasAnswer) {
    106         cout << "Match :-)" << endl;
    107     } else {
    108         cout << "OK, but is it right?" << endl;
    109     }
    110     cout << "" << endl;
    111     return res;
    112 }
    113 int main() {
    114     bool all_right;
    115     all_right = true;
    116 
    117     int p0;
    118     vector <int> p1;
    119     long long p2;
    120 
    121     {
    122         // ----- test 0 -----
    123         p0 = 1;
    124         int t1[] = {1,2,3};
    125         p1.assign(t1, t1 + sizeof(t1) / sizeof(t1[0]));
    126         p2 = 2ll;
    127         all_right = KawigiEdit_RunTest(0, p0, p1, true, p2) && all_right;
    128         // ------------------
    129     }
    130 
    131     {
    132         // ----- test 1 -----
    133         p0 = 100;
    134         int t1[] = {1};
    135         p1.assign(t1, t1 + sizeof(t1) / sizeof(t1[0]));
    136         p2 = 0ll;
    137         all_right = KawigiEdit_RunTest(1, p0, p1, true, p2) && all_right;
    138         // ------------------
    139     }
    140 
    141     {
    142         // ----- test 2 -----
    143         p0 = 5;
    144         int t1[] = {1,1,2};
    145         p1.assign(t1, t1 + sizeof(t1) / sizeof(t1[0]));
    146         p2 = 10ll;
    147         all_right = KawigiEdit_RunTest(2, p0, p1, true, p2) && all_right;
    148         // ------------------
    149     }
    150 
    151     {
    152         // ----- test 3 -----
    153         p0 = 1000000000;
    154         int t1[] = {100};
    155         p1.assign(t1, t1 + sizeof(t1) / sizeof(t1[0]));
    156         p2 = 100000000000ll;
    157         all_right = KawigiEdit_RunTest(3, p0, p1, true, p2) && all_right;
    158         // ------------------
    159     }
    160 
    161     {
    162         // ----- test 4 -----
    163         p0 = 570;
    164         int t1[] = {2013,2,13,314,271,1414,1732};
    165         p1.assign(t1, t1 + sizeof(t1) / sizeof(t1[0]));
    166         p2 = 4112ll;
    167         all_right = KawigiEdit_RunTest(4, p0, p1, true, p2) && all_right;
    168         // ------------------
    169     }
    170 
    171     if (all_right) {
    172         cout << "You're a stud (at least on the example cases)!" << endl;
    173     } else {
    174         cout << "Some of the test cases had errors." << endl;
    175     }
    176     return 0;
    177 }
    178 // END KAWIGIEDIT TESTING
    View Code

     

    550pt:

    题意大概是N个结点的树每个结点会随机被分给某一方,考虑其中一方的结点,你需要加一些线使得它们形成一个新的联通块,当某个结点加入第二条边的时候会花费1的代价,问期望的最小代价。

    这题挺神……一开始想出n^7的……觉得能过但写不出来……后来变成n^5的……结果写出来不知道为什么变成n^3了……

    首先两方是对称的,所以只用算出一方的代价然后乘2就行了。接下来假设当前方有n个结点,m个联通块,那么当前方的代价为max(2*m-n-2,0),这个感觉挺显然的。所以我们可以dp当前有几个结点几个联通块,但我们发现后面两个信息可以整合,然后每个结点再做一次背包就完了。我也不知道为什么写出来就成n^3的了,n^5的已经记不到了。

      1 #include <vector>
      2 #include <list>
      3 #include <map>
      4 #include <set>
      5 #include <queue>
      6 #include <deque>
      7 #include <stack>
      8 #include <bitset>
      9 #include <algorithm>
     10 #include <functional>
     11 #include <numeric>
     12 #include <utility>
     13 #include <sstream>
     14 #include <iostream>
     15 #include <iomanip>
     16 #include <cstdio>
     17 #include <cmath>
     18 #include <cstdlib>
     19 #include <ctime>
     20 #include <cstring>
     21 
     22 using namespace std;
     23 
     24 const int maxn=40;
     25 const int d=37;
     26 
     27 int en;
     28 
     29 long long f[maxn][maxn<<1][2];
     30 
     31 bool solve[maxn][2];
     32 
     33 long long g[maxn][maxn<<1];
     34 
     35 struct edge
     36 {
     37     int e;
     38     edge *next;
     39 }*v[maxn],ed[maxn<<1];
     40 
     41 void add_edge(int s,int e)
     42 {
     43     en++;
     44     ed[en].next=v[s];v[s]=ed+en;v[s]->e=e;
     45 }
     46 
     47 void dfs(int now,int pre,int precol)
     48 {
     49     if (solve[now][precol]) return;
     50     solve[now][precol]=true;
     51     for (int a=0;a<2;a++)
     52     {
     53         for (edge *e=v[now];e;e=e->next)
     54             if (e->e!=pre) dfs(e->e,now,a);
     55         memset(g,0,sizeof(g));
     56         if (a) g[0][d]=1;
     57         else
     58         {
     59             if (a==precol) g[0][-1+d]=1;
     60             else g[0][1+d]=1;
     61         }
     62         int cnt=0;
     63         for (edge *e=v[now];e;e=e->next)
     64             if (e->e!=pre)
     65             {
     66                 for (int b=0;b<=d+d;b++)
     67                     if (f[e->e][b][a])
     68                         for (int c=0;c<=d+d;c++)
     69                             if (g[cnt][c]) g[cnt+1][c+b-d]+=g[cnt][c]*f[e->e][b][a];
     70                 cnt++;
     71             }
     72         for (int b=0;b<=d+d;b++)
     73             f[now][b][precol]+=g[cnt][b];
     74     }
     75 }
     76 
     77 class CentaurCompany {
     78 public:
     79     double getvalue(vector <int> a, vector <int> b) {
     80         en=0;
     81         memset(v,0,sizeof(v));
     82         int n=a.size();
     83         for (int c=0;c<n;c++)
     84             add_edge(a[c],b[c]),add_edge(b[c],a[c]);
     85         memset(solve,false,sizeof(solve));
     86         memset(f,0,sizeof(f));
     87         dfs(1,0,1);
     88         double ans=0;
     89         for (int a=0;a<=d+d;a++)
     90             ans+=(double)max(a-d-2,0)*f[1][a][1];
     91         ans*=2.0;
     92         n++;
     93         ans/=(1ll<<n);
     94         return ans;
     95     }
     96 };
     97 
     98 
     99 //<%:testing-code%>
    100 //Powered by KawigiEdit 2.1.4 (beta) modified by pivanof!
    101 // BEGIN KAWIGIEDIT TESTING
    102 // Generated by KawigiEdit 2.1.4 (beta) modified by pivanof
    103 bool KawigiEdit_RunTest(int testNum, vector <int> p0, vector <int> p1, bool hasAnswer, double p2) {
    104     cout << "Test " << testNum << ": [" << "{";
    105     for (int i = 0; int(p0.size()) > i; ++i) {
    106         if (i > 0) {
    107             cout << ",";
    108         }
    109         cout << p0[i];
    110     }
    111     cout << "}" << "," << "{";
    112     for (int i = 0; int(p1.size()) > i; ++i) {
    113         if (i > 0) {
    114             cout << ",";
    115         }
    116         cout << p1[i];
    117     }
    118     cout << "}";
    119     cout << "]" << endl;
    120     CentaurCompany *obj;
    121     double answer;
    122     obj = new CentaurCompany();
    123     clock_t startTime = clock();
    124     answer = obj->getvalue(p0, p1);
    125     clock_t endTime = clock();
    126     delete obj;
    127     bool res;
    128     res = true;
    129     cout << "Time: " << double(endTime - startTime) / CLOCKS_PER_SEC << " seconds" << endl;
    130     if (hasAnswer) {
    131         cout << "Desired answer:" << endl;
    132         cout << "	" << p2 << endl;
    133     }
    134     cout << "Your answer:" << endl;
    135     cout << "	" << answer << endl;
    136     if (hasAnswer) {
    137         res = fabs(p2 - answer) <= 1e-9 * max(1.0, fabs(p2));
    138     }
    139     if (!res) {
    140         cout << "DOESN'T MATCH!!!!" << endl;
    141     } else if (double(endTime - startTime) / CLOCKS_PER_SEC >= 2) {
    142         cout << "FAIL the timeout" << endl;
    143         res = false;
    144     } else if (hasAnswer) {
    145         cout << "Match :-)" << endl;
    146     } else {
    147         cout << "OK, but is it right?" << endl;
    148     }
    149     cout << "" << endl;
    150     return res;
    151 }
    152 int main() {
    153     bool all_right;
    154     all_right = true;
    155     
    156     vector <int> p0;
    157     vector <int> p1;
    158     double p2;
    159     
    160     {
    161     // ----- test 0 -----
    162     int t0[] = {1};
    163             p0.assign(t0, t0 + sizeof(t0) / sizeof(t0[0]));
    164     int t1[] = {2};
    165             p1.assign(t1, t1 + sizeof(t1) / sizeof(t1[0]));
    166     p2 = 0.0;
    167     all_right = KawigiEdit_RunTest(0, p0, p1, true, p2) && all_right;
    168     // ------------------
    169     }
    170     
    171     {
    172     // ----- test 1 -----
    173     int t0[] = {1,1,1};
    174             p0.assign(t0, t0 + sizeof(t0) / sizeof(t0[0]));
    175     int t1[] = {2,3,4};
    176             p1.assign(t1, t1 + sizeof(t1) / sizeof(t1[0]));
    177     p2 = 0.125;
    178     all_right = KawigiEdit_RunTest(1, p0, p1, true, p2) && all_right;
    179     // ------------------
    180     }
    181     
    182     {
    183     // ----- test 2 -----
    184     int t0[] = {1,2,3,2,2};
    185             p0.assign(t0, t0 + sizeof(t0) / sizeof(t0[0]));
    186     int t1[] = {2,3,4,5,6};
    187             p1.assign(t1, t1 + sizeof(t1) / sizeof(t1[0]));
    188     p2 = 0.375;
    189     all_right = KawigiEdit_RunTest(2, p0, p1, true, p2) && all_right;
    190     // ------------------
    191     }
    192     
    193     {
    194     // ----- test 3 -----
    195     int t0[] = {1,2,3,4,5,6,7,8,9};
    196             p0.assign(t0, t0 + sizeof(t0) / sizeof(t0[0]));
    197     int t1[] = {2,3,4,5,6,7,8,9,10};
    198             p1.assign(t1, t1 + sizeof(t1) / sizeof(t1[0]));
    199     p2 = 0.41796875;
    200     all_right = KawigiEdit_RunTest(3, p0, p1, true, p2) && all_right;
    201     // ------------------
    202     }
    203     
    204     {
    205     // ----- test 4 -----
    206     int t0[] = {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1};
    207             p0.assign(t0, t0 + sizeof(t0) / sizeof(t0[0]));
    208     int t1[] = {2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36};
    209             p1.assign(t1, t1 + sizeof(t1) / sizeof(t1[0]));
    210     p2 = 15.500000001076842;
    211     all_right = KawigiEdit_RunTest(4, p0, p1, true, p2) && all_right;
    212     // ------------------
    213     }
    214     
    215     {
    216     // ----- test 5 -----
    217     int t0[] = {10,7,2,5,6,2,4,9,7};
    218             p0.assign(t0, t0 + sizeof(t0) / sizeof(t0[0]));
    219     int t1[] = {8,10,10,4,1,6,2,2,3};
    220             p1.assign(t1, t1 + sizeof(t1) / sizeof(t1[0]));
    221     p2 = 0.646484375;
    222     all_right = KawigiEdit_RunTest(5, p0, p1, true, p2) && all_right;
    223     // ------------------
    224     }
    225     
    226     if (all_right) {
    227         cout << "You're a stud (at least on the example cases)!" << endl;
    228     } else {
    229         cout << "Some of the test cases had errors." << endl;
    230     }
    231     return 0;
    232 }
    233 // END KAWIGIEDIT TESTING
    View Code

    900pt:

    给你一张n*m的矩阵,然后你划线,要把整个矩阵分成多个环,要求某些特殊点相邻的环点必须也是特殊点,否则就会有1的代价,问最小代价。

    这题比上题简单多了……每个点出度入度为1,根据出入度限制跑费用流就行了。

      1 #include <vector>
      2 #include <list>
      3 #include <map>
      4 #include <set>
      5 #include <queue>
      6 #include <deque>
      7 #include <stack>
      8 #include <bitset>
      9 #include <algorithm>
     10 #include <functional>
     11 #include <numeric>
     12 #include <utility>
     13 #include <sstream>
     14 #include <iostream>
     15 #include <iomanip>
     16 #include <cstdio>
     17 #include <cmath>
     18 #include <cstdlib>
     19 #include <ctime>
     20 #include <cstring>
     21 
     22 using namespace std;
     23 
     24 #define get(a,b) (a*m+b)
     25 
     26 const int maxn=26*26*3;
     27 const int maxm=maxn*20;
     28 const int INF=0x3f3f3f3f;
     29 
     30 int s,t,en,cost,q[maxn],dist[maxn],f[maxn],bx[5],by[5];
     31 
     32 bool use[maxn];
     33 
     34 struct edge
     35 {
     36     int e,f,d;
     37     edge *next,*op;
     38 }*v[maxn],ed[maxm],*fe[maxn];
     39 
     40 void add_edge(int s,int e,int f,int d)
     41 {
     42     en++;
     43     ed[en].next=v[s];v[s]=ed+en;v[s]->e=e;v[s]->f=f;v[s]->d=d;
     44     en++;
     45     ed[en].next=v[e];v[e]=ed+en;v[e]->e=s;v[e]->f=0;v[e]->d=-d;
     46     v[s]->op=v[e];v[e]->op=v[s];
     47 }
     48 
     49 bool spfa()
     50 {
     51     int front=1,tail=2;
     52     q[1]=s;
     53     use[s]=true;
     54     memset(dist,0x3f,sizeof(dist));
     55     dist[s]=0;
     56     for (;front!=tail;)
     57     {
     58         int now=q[front++];
     59         if (front==maxn) front=0;
     60         use[now]=false;
     61         for (edge *e=v[now];e;e=e->next)
     62             if (e->f && dist[e->e]>dist[now]+e->d)
     63             {
     64                 dist[e->e]=dist[now]+e->d;
     65                 f[e->e]=now;
     66                 fe[e->e]=e;
     67                 if (!use[e->e])
     68                 {
     69                     q[tail++]=e->e;
     70                     if (tail==maxn) tail=0;
     71                     use[e->e]=true;
     72                 }
     73             }
     74     }
     75     return dist[t]!=INF;
     76 }
     77 
     78 int agument()
     79 {
     80     int delta=INF;
     81     for (int p=t;p!=s;p=f[p])
     82         delta=min(delta,fe[p]->f);
     83     for (int p=t;p!=s;p=f[p])
     84     {
     85         fe[p]->f-=delta;
     86         fe[p]->op->f+=delta;
     87     }
     88     cost+=delta*dist[t];
     89     return delta;
     90 }
     91 
     92 int flow()
     93 {
     94     int ans=0;
     95     while (spfa())
     96         ans+=agument();
     97     return ans;
     98 }
     99 
    100 class CurvyonRails {
    101 public:
    102     int getmin(vector <string> field) {
    103         bx[1]=1;bx[2]=-1;by[3]=1;by[4]=-1;
    104         int n=field.size();
    105         int m=field[0].size();
    106         en=0;
    107         memset(v,0,sizeof(v));
    108         int sum=0,cnt=0;
    109         s=n*m*3;t=s+1;
    110         for (int a=0;a<n;a++)
    111             for (int b=0;b<m;b++)
    112                 if (field[a][b]!='w')
    113                 {
    114                     if (!((a+b)&1))
    115                     {
    116                         cnt++;
    117                         sum+=2;
    118                         add_edge(s,get(a,b),2,0);
    119                         add_edge(get(a,b),get(a,b)+n*m,1,0);add_edge(get(a,b),get(a,b)+2*n*m,1,0);
    120                         add_edge(get(a,b),get(a,b)+n*m,1,field[a][b]=='C');add_edge(get(a,b),get(a,b)+2*n*m,1,field[a][b]=='C');
    121                         for (int c=1;c<=4;c++)
    122                         {
    123                             int x=a+bx[c];
    124                             int y=b+by[c];
    125                             if (x>=0 && x<n && y>=0 && y<m && field[x][y]!='w')
    126                             {
    127                                 if (x==a) add_edge(get(a,b)+n*m,get(x,y)+n*m,1,0);
    128                                 else add_edge(get(a,b)+2*n*m,get(x,y)+2*n*m,1,0);
    129                             }
    130                         }
    131                     }
    132                     else
    133                     {
    134                         cnt--;
    135                         add_edge(get(a,b),t,2,0);
    136                         add_edge(get(a,b)+n*m,get(a,b),1,0);add_edge(get(a,b)+n*m*2,get(a,b),1,0);
    137                         add_edge(get(a,b)+n*m,get(a,b),1,field[a][b]=='C');add_edge(get(a,b)+n*m*2,get(a,b),1,field[a][b]=='C');
    138                     }
    139                 }
    140         if (cnt!=0) return -1;
    141         cost=0;
    142         if (flow()==sum) return cost;
    143         else return -1;
    144     }
    145 };
    146 
    147 
    148 //<%:testing-code%>
    149 //Powered by KawigiEdit 2.1.4 (beta) modified by pivanof!
    150 // BEGIN KAWIGIEDIT TESTING
    151 // Generated by KawigiEdit 2.1.4 (beta) modified by pivanof
    152 bool KawigiEdit_RunTest(int testNum, vector <string> p0, bool hasAnswer, int p1) {
    153     cout << "Test " << testNum << ": [" << "{";
    154     for (int i = 0; int(p0.size()) > i; ++i) {
    155         if (i > 0) {
    156             cout << ",";
    157         }
    158         cout << """ << p0[i] << """;
    159     }
    160     cout << "}";
    161     cout << "]" << endl;
    162     CurvyonRails *obj;
    163     int answer;
    164     obj = new CurvyonRails();
    165     clock_t startTime = clock();
    166     answer = obj->getmin(p0);
    167     clock_t endTime = clock();
    168     delete obj;
    169     bool res;
    170     res = true;
    171     cout << "Time: " << double(endTime - startTime) / CLOCKS_PER_SEC << " seconds" << endl;
    172     if (hasAnswer) {
    173         cout << "Desired answer:" << endl;
    174         cout << "	" << p1 << endl;
    175     }
    176     cout << "Your answer:" << endl;
    177     cout << "	" << answer << endl;
    178     if (hasAnswer) {
    179         res = answer == p1;
    180     }
    181     if (!res) {
    182         cout << "DOESN'T MATCH!!!!" << endl;
    183     } else if (double(endTime - startTime) / CLOCKS_PER_SEC >= 2) {
    184         cout << "FAIL the timeout" << endl;
    185         res = false;
    186     } else if (hasAnswer) {
    187         cout << "Match :-)" << endl;
    188     } else {
    189         cout << "OK, but is it right?" << endl;
    190     }
    191     cout << "" << endl;
    192     return res;
    193 }
    194 int main() {
    195     bool all_right;
    196     all_right = true;
    197     
    198     vector <string> p0;
    199     int p1;
    200     
    201     {
    202     // ----- test 0 -----
    203     string t0[] = {"..",".."};
    204             p0.assign(t0, t0 + sizeof(t0) / sizeof(t0[0]));
    205     p1 = 0;
    206     all_right = KawigiEdit_RunTest(0, p0, true, p1) && all_right;
    207     // ------------------
    208     }
    209     
    210     {
    211     // ----- test 1 -----
    212     string t0[] = {"wCCww","wCC..","..w..","....w","ww..w"};
    213             p0.assign(t0, t0 + sizeof(t0) / sizeof(t0[0]));
    214     p1 = 0;
    215     all_right = KawigiEdit_RunTest(1, p0, true, p1) && all_right;
    216     // ------------------
    217     }
    218     
    219     {
    220     // ----- test 2 -----
    221     string t0[] = {"C.w","...",".C."};
    222             p0.assign(t0, t0 + sizeof(t0) / sizeof(t0[0]));
    223     p1 = 1;
    224     all_right = KawigiEdit_RunTest(2, p0, true, p1) && all_right;
    225     // ------------------
    226     }
    227     
    228     {
    229     // ----- test 3 -----
    230     string t0[] = {"."};
    231             p0.assign(t0, t0 + sizeof(t0) / sizeof(t0[0]));
    232     p1 = -1;
    233     all_right = KawigiEdit_RunTest(3, p0, true, p1) && all_right;
    234     // ------------------
    235     }
    236     
    237     {
    238     // ----- test 4 -----
    239     string t0[] = {"w"};
    240             p0.assign(t0, t0 + sizeof(t0) / sizeof(t0[0]));
    241     p1 = 0;
    242     all_right = KawigiEdit_RunTest(4, p0, true, p1) && all_right;
    243     // ------------------
    244     }
    245     
    246     {
    247     // ----- test 5 -----
    248     string t0[] = {"CC..CCCw.CwC..CC.w.C","C.CCCwCCC.w.w..C.w..","wwww...CC.wC.Cw.CC..","CC..CC.w..w.C..CCCC.","CC.CCC..CwwCCC.wCC..","w.C..wwCC.CC.wwwCC..",".CC.CC..CCC..CC.CC.C","Cw....C.C.CCC...CC..","CC.C..Cww.C.CwwwC..w","wCCww..C...CCCCCCC.w","C.CCw.CC.ww...C.CCww","C.C.C.CCwCC..wCCw.Cw","CCC.C...w..C.wC.wCCw","CC.C..C..CCC.CC.C...","C.ww...CCC..CC...CCC","...CCC.CwwwC..www.C.","wwCCCCC.w.C.C...wCwC","CCwC.CwCCC.C.w.Cw...","C.w.wC.CC.CCC.C.w.Cw","CCw.CCC..C..CC.CwCCw","C.wwwww.CwwCCwwwwwww"};
    249             p0.assign(t0, t0 + sizeof(t0) / sizeof(t0[0]));
    250     p1 = 9;
    251     all_right = KawigiEdit_RunTest(5, p0, true, p1) && all_right;
    252     // ------------------
    253     }
    254     
    255     if (all_right) {
    256         cout << "You're a stud (at least on the example cases)!" << endl;
    257     } else {
    258         cout << "Some of the test cases had errors." << endl;
    259     }
    260     return 0;
    261 }
    262 // END KAWIGIEDIT TESTING
    View Code

     

  • 相关阅读:
    [原] JT SQL Server 性能调优札记之三
    [转]SQL Server 2000执行计划成本(4/5)
    [转]Oracle的Online Redo Log 相关操作
    [原]成功在ESX上搭建SQL Server 2005集群
    我的软设、系分考试经验(书)
    [转]Linux软RAID的技术概要及实现
    [原]Console小技巧——七彩输出
    SQL SERVER 2005 压缩日志及数据库文件大小
    [转]SQL Server 2000执行计划成本(2/5)
    [原]在SQL Server 2005 中使用.net程序集的一项注意
  • 原文地址:https://www.cnblogs.com/zhonghaoxi/p/3292607.html
Copyright © 2011-2022 走看看