{"id":189,"date":"2010-03-26T19:58:00","date_gmt":"2010-03-26T11:58:00","guid":{"rendered":"http:\/\/localhost\/?p=189"},"modified":"2010-03-26T19:58:00","modified_gmt":"2010-03-26T11:58:00","slug":"usaco_betsys_tour","status":"publish","type":"post","link":"https:\/\/www.shuizilong.com\/wjmzbmr\/?p=189","title":{"rendered":"USACO Betsy&#8217;s Tour"},"content":{"rendered":"<p> \u989d\u3002\u3002\u8fd9\u9898\u8fc7\u7684\u6709\u70b9\u60ac<br \/>USER: Tom Chen [45384401]<br \/>TASK: betsy<br \/>LANG: C++<\/p>\n<p>Compiling&#8230;<br \/>Compile: OK<\/p>\n<p>Executing&#8230;<br \/>   Test 1: TEST OK [0.011 secs, 2804 KB]<br \/>   Test 2: TEST OK [0.000 secs, 2804 KB]<br \/>   Test 3: TEST OK [0.011 secs, 2804 KB]<br \/>   Test 4: TEST OK [0.011 secs, 2804 KB]<br \/>   Test 5: TEST OK [0.000 secs, 2804 KB]<br \/>   Test 6: TEST OK [0.022 secs, 2804 KB]<br \/>   Test 7: TEST OK [0.961 secs, 2804 KB]<\/p>\n<p>All tests OK.<br \/>\u65f6\u95f4\u5361\u7684\u597d\u7d27\u989d\u56e7\u3002\u3002<br \/>\u6211\u53ea\u7528\u4e86\u4e24\u4e2a\u526a\u679d\uff0c\u4e00\u4e2a\u662f\u6bcf\u4e2a\u9664\u4e86\u7ec8\u70b9\u4e4b\u5916\u7684\u70b9\u8981\u4e00\u8fdb\u4e00\u51fa\u6240\u4ee5\u8981\u8bb0\u5f55\u76f8\u90bb\u7684\u70b9\u6570\uff0c\u8fd8\u6709\u4e00\u4e2a\u5c31\u662f\u5f53\u524d\u70b9\u5230\u7ec8\u70b9\u7684\u8ddd\u79bb\u5982\u679c\u5c0f\u4e8e\u5269\u4e0b\u7684\u70b9\u6570\u5c31\u526a\u679d\u3002\u3002<br \/>\u8fd9\u6837\u90fd\u80fd\u8fc7\u56e7\u3002\u3002<br \/>Code\uff1a<br \/>\/*<br \/>  PROG: betsy<br \/>  LANG: C++<br \/>  ID: Tom Chen<br \/>*\/<br \/>#include&lt;cstdio&gt;<br \/>#include&lt;iostream&gt;<br \/>#include&lt;algorithm&gt;<br \/>#include&lt;string&gt;<br \/>#include&lt;vector&gt;<br \/>#include&lt;cstring&gt;<br \/>#define rep(i,n) for(int i=0;i&lt;n;i++)<br \/>#define For(i,l,r) for(int i=l;i&lt;=r;i++)<br \/>#define pb push_back<br \/>using namespace std;<br \/>const int maxn=10,di[]={1,0,-1,0},dj[]={0,-1,0,1};<br \/>bool vis[maxn][maxn]={0};<br \/>int n,ans=0;<br \/>int C[maxn][maxn];<br \/>int ii,jj;<br \/>void show()<br \/>{<br \/>    rep(i,n)<br \/>    {<br \/>        rep(j,n) cout&lt;&lt;C[i][j]&lt;&lt;&quot; &quot;;<br \/>        cout&lt;&lt;endl;<br \/>    }<br \/>}<br \/>int Put(int i,int j)<br \/>{<br \/>    int ret=0;<br \/>    vis[i][j]=true;<br \/>    rep(d,4)<br \/>    {<br \/>        ii=di[d]+i,jj=dj[d]+j;<br \/>        if(!vis[ii][jj]&amp;&amp;&#8211;C[ii][jj]&lt;2&amp;&amp;(ii!=n||jj!=1))<br \/>            ret++;<br \/>    }<br \/>    return ret;<br \/>}<br \/>void Back(int i,int j)<br \/>{<br \/>    vis[i][j]=false;<br \/>    rep(d,4)<br \/>    {<br \/>        ii=di[d]+i,jj=dj[d]+j;<br \/>        if(!vis[ii][jj])<br \/>            ++C[ii][jj];<br \/>    }<br \/>}<br \/>inline int dist(int a,int b){return a&gt;0?a:-a+b&gt;0?b:-b;}<br \/>void dfs(int i,int j,int c)<br \/>{<br \/>    \/\/cout&lt;&lt;i&lt;&lt;&quot; &quot;&lt;&lt;j&lt;&lt;&quot; &quot;&lt;&lt;c&lt;&lt;endl;<br \/>    \/\/show();<br \/>    if(n*n-c&lt;dist(i-n,j-1))return;<br \/>    if(i==n&amp;&amp;j==1)<br \/>    {<br \/>        if(c==n*n) ans++;<br \/>        return;<br \/>    }<br \/>    int t=Put(i,j);<br \/>    if(t&lt;=1)<br \/>    {<br \/>        rep(d,4)<br \/>        {<br \/>            ii=i+di[d],jj=j+dj[d];<br \/>            if(!vis[ii][jj]&amp;&amp;(!t||C[ii][jj]&lt;2))<br \/>                dfs(ii,jj,c+1);<br \/>        }<br \/>    }<br \/>    Back(i,j);<br \/>}<br \/>int main()<br \/>{<br \/>    freopen(&quot;betsy.in&quot;,&quot;r&quot;,stdin);<br \/>    freopen(&quot;betsy.out&quot;,&quot;w&quot;,stdout);<br \/>    cin&gt;&gt;n;<br \/>    rep(i,n+2)rep(j,n+2)vis[i][j]=true;<br \/>    For(i,1,n)For(j,1,n) C[i][j]=4,vis[i][j]=false;<br \/>    For(i,1,n) C[i][1]=C[1][i]=C[n][i]=C[i][n]=3;<br \/>    C[1][1]=C[1][n]=C[n][1]=C[n][n]=2;<br \/>    dfs(1,1,1);<br \/>    cout&lt;&lt;ans&lt;&lt;endl;<br \/>} <\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u989d\u3002\u3002\u8fd9\u9898\u8fc7\u7684\u6709\u70b9\u60acUSER: Tom Chen [45384401]TASK: betsyLANG: C++ Compiling&#8230;Compile: OK Executing&#8230; Test 1: TEST OK [0.011 secs, 2804 KB] Test 2: TEST OK [0.000 secs, 2804 KB] Test 3: TEST OK [0.011 secs, 2804 KB] Test 4: TEST OK [0.011 secs, 2804 KB] Test 5: TEST OK [0.000 secs, 2804 KB] Test 6: TEST OK [0.022 secs, [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[10],"tags":[],"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/www.shuizilong.com\/wjmzbmr\/index.php?rest_route=\/wp\/v2\/posts\/189"}],"collection":[{"href":"https:\/\/www.shuizilong.com\/wjmzbmr\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.shuizilong.com\/wjmzbmr\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.shuizilong.com\/wjmzbmr\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.shuizilong.com\/wjmzbmr\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=189"}],"version-history":[{"count":0,"href":"https:\/\/www.shuizilong.com\/wjmzbmr\/index.php?rest_route=\/wp\/v2\/posts\/189\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.shuizilong.com\/wjmzbmr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=189"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.shuizilong.com\/wjmzbmr\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=189"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.shuizilong.com\/wjmzbmr\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=189"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}