Codeforces Round #417 (Div. 2)

一题都没过啊,菜上天的

A. Sagheer and Crossroads

这题直接小模拟爆一下
题意大概是一个十字路口,有四个红绿灯灯,分别是左转l,直走s,右转r,和行人p,1是绿灯,0是红灯,问给一张亮灯图判断是否被撞

int l[5], s[5], r[5], p[5];
int main()
{
    for (int i = 1; i <= 4; i++)
        scanf("%d%d%d%d", &l[i], &s[i], &r[i], &p[i]);//输入写错一个数组名
    if ((l[1]&&p[1]) || (p[1]&&s[1]) || (p[1]&&r[1]) || (l[1]&&p[4]) || (s[1]&&p[3]) || (r[1]&&p[2]) )
        printf("YES\n");
    else if ( (l[2]&&p[2]) || (p[2]&&s[2]) || (p[2]&&r[2]) || (l[2]&&p[1]) || (s[2]&&p[4]) || (r[2]&&p[3])  )
        printf("YES\n");
    else if ( (l[3]&&p[3]) || (p[3]&&s[3]) || (p[3]&&r[3]) || (l[3]&&p[2]) || (s[3]&&p[1]) || (r[3]&&p[4])  )
        printf("YES\n");
    else if ( (l[4]&&p[4]) || (p[4]&&s[4]) || (p[4]&&r[4]) || (l[4]&&p[3]) || (s[4]&&p[2]) || (r[4]&&p[1])  )//写错了两个数字。。。shit
        printf("YES\n");
    else printf("NO\n");
}

B. Sagheer, the Hausmeister

关掉整座楼的灯,可以DP,但是楼层才15层,直接dfs暴力就可以了
input

3 4
001000
000010
000010//1是灯亮
左右两列全是0的是楼梯,上下楼只能走楼梯,耗时1s

output

12//需12秒关完
int Map[15][105];
int dis[15][2];//最靠近两侧的灯,分两层分别记录左右
char b[15];
int n, m;
int last;

int dfs(int x, int y)
{
    if(x == last) return dis[x][y]/2;

    int res = dfs(x-1, !y) + m + 1;
    int ans = dfs(x-1, y) + dis[x][y];//以上两句分别从两个搜
    res = min(res, ans); //往左还是往右走

    res++;
    return res;
}


int main()
{
    scanf("%d%d", &n, &m);
    last = n-1;
    for(int i = 0; i < n; i++)
    {
        scanf("%s", b);
        for (int j = 0; j < m+2; j++)
            Map[i][j] = b[j] - '0';
    }
    for(int i = 0; i < n; i++)
    {
        int k = 0;//从左扫
        for(int j = 0; j < m+2; j++)
        {
            if(Map[i][j]) k = j;//记录离左端最远的灯的位置
        }
        dis[i][0] = k*2;//到离左端最远的灯的往返步数

        k = m+1;//从右扫
        for(int j = m+1; j >= 0; j--)
        {
            if(Map[i][j]) k = j;//记录离右端最远的灯的位置
        }
        dis[i][1] = (m+1-k)*2;//到离右端最远的灯的往返步数
    }
    for (int i = 0; i < n; i++)
        if (dis[i][0])
        {
            last = i;break;//找到第一个有灯亮的楼层
        }

    printf("%d\n", dfs(n-1, 0));//从n-1搜
}

D. Sagheer and Kindergarten

待补充

E. Sagheer and Apple Tree

SG博弈变形(数值处理上变了一下),待补充

今天的题不大好懂,主要还是英语烂的缘故吧
太菜了,以后加油,不能偷懒了

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容