倒计时83天

1.   倒计时85天(持更)-CSDN博客

2.1003-模拟战役_2021秋季算法入门班第六章习题:搜索与搜索剪枝 (nowcoder.com)

/***
 *
 *
 *                                                    __----~~~~~~~~~~~------___
 *                                   .  .   ~~//====......          __--~ ~~
 *                   -.            \_|//     |||\\  ~~~~~~::::... /~
 *                ___-==_       _-~o~  \/    |||  \\            _/~~-
 *        __---~~~.==~||\=_    -_--~/_-~|-   |\\   \\        _/~
 *    _-~~     .=~    |  \\-_    '-~7  /-   /  ||    \      /
 *  .~       .~       |   \\ -_    /  /-   /   ||      \   /
 * /  ____  /         |     \\ ~-_/  /|- _/   .||       \ /
 * |~~    ~~|--~~~~--_ \     ~==-/   | \~--===~~        .\
 *          '         ~-|      /|    |-~\~~       __--~~
 *                      |-~~-_/ |    |   ~\_   _-~            /\
 *                           /  \     \__   \/~                \__
 *                       _--~ _/ | .-~~____--~-/                  ~~==.
 *                      ((->/~   '.|||' -_|    ~~-/ ,              . _||
 *                                 -_     ~\      ~~---l__i__i__i--~~_/
 *                                 _-~-__   ~)  \--______________--~~
 *                               //.-~~~-~_--~- |-------~~~~~~~~
 *                                      //.-~~~--\
 *                               神兽保佑
 *                              代码无BUG!
 */
 /* 标准键盘布局
┌───┐   ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┐
│Esc│   │ F1│ F2│ F3│ F4│ │ F5│ F6│ F7│ F8│ │ F9│F10│F11│F12│ │P/S│S L│P/B│  ┌┐    ┌┐    ┌┐
└───┘   └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘  └┘    └┘    └┘
┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ ┌───┬───┬───┐ ┌───┬───┬───┬───┐
│~ `│! 1│@ 2│# 3│$ 4│% 5│^ 6│& 7│* 8│( 9│) 0│_ -│+ =│ BacSp │ │Ins│Hom│PUp│ │N L│ / │ * │ - │
├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┤ ├───┼───┼───┼───┤
│ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │{ [│} ]│ | \ │ │Del│End│PDn│ │ 7 │ 8 │ 9 │   │
├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ └───┴───┴───┘ ├───┼───┼───┤ + │
│ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │: ;│" '│ Enter  │               │ 4 │ 5 │ 6 │   │
├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤     ┌───┐     ├───┼───┼───┼───┤
│ Shift  │ Z │ X │ C │ V │ B │ N │ M │< ,│> .│? /│  Shift   │     │ ↑ │     │ 1 │ 2 │ 3 │   │
├─────┬──┴─┬─┴──┬┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ ┌───┼───┼───┐ ├───┴───┼───┤ E││
│ Ctrl│    │Alt │         Space         │ Alt│    │    │Ctrl│ │ ← │ ↓ │ → │ │   0   │ . │←─┘│
└─────┴────┴────┴───────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘ └───────┴───┴───┘
*/
#include
using namespace std;
const int N=3e4+5;
const int inf=0x3f3f3f3f;
#define int long long
string str1[4],str2[4];
typedef pairpii;
int m;
vectorve1,ve2;
int dir[8][2]={{0,1},{1,0},{-1,0},{0,-1},{1,1},{1,-1},{-1,1},{-1,-1}};
#define check1(i,j) (i>=0&&i<4&&j>=0&&j=0&&i<4&&j>=0&&jqu;
    qu.push({i,j});
    int cn=1;
    while(qu.size())
    {
        auto q=qu.front();
        qu.pop();
        int x=q.first,y=q.second;
        for(int i=0;i<8;i++)
        {
            int px=x+dir[i][0],py=y+dir[i][1];
            if(check1(px,py))
            {
                qu.push({px,py});
                str1[px][py]='.';
                cn++;
            }
        }
    }
    ve1.push_back(cn);
}
void bfs2(int i,int j)
{
    queuequ;
    qu.push({i,j});
    int cn=1;
    while(qu.size())
    {
        auto q=qu.front();
        qu.pop();
        int x=q.first,y=q.second;
        for(int i=0;i<8;i++)
        {
            int px=x+dir[i][0],py=y+dir[i][1];
            if(check2(px,py))
            {
                qu.push({px,py});
                str2[px][py]='.';
                cn++;
            }
        }
    }
    ve2.push_back(cn);
}
void solve()
{
    cin>>m;
    for(int i=0;i<4;i++)//司机
    {
        cin>>str1[i];
    }
    for(int i=0;i<4;i++)//齐齐
    {
        cin>>str2[i];
    }
    for(int i=0;i<4;i++)
    {
        for(int j=0;jve2.size())cout<<-1;
    else
    {
        int sum=0;
        for(int i=ve2.size()-1;i>=ve1.size()-1&&i>=0;i--)
        {
            sum+=ve2[i];
        }
        cout<

你可能感兴趣的:(c++)