ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

象棋——ACM

2021-07-17 17:33:13  阅读:197  来源: 互联网

标签:10 int 象棋 ACM leq num printf


题目描述

在中国象棋中正所谓新手玩车,熟手玩炮,老手玩马,由此可见象棋中炮的地位还是比较高的。

给定一个n×mn \times mn×m的棋盘,全部摆满炮,我们视所有炮都不属于同一阵营,他们之间可以相互攻击但不能不进行攻击直接移动。请问经历若干次攻击,直到不能攻击后,最少能剩余多少个炮。

输入描述:

第一行一个正整数TTT,表示数据组数,T≤104T \leq 10^{4}T≤104。

对于每组数据,输入两个正整数nnn和mmm,满足:n≤1018n \leq 10^{18}n≤1018,m≤1018m \leq 10^{18}m≤1018。

输出描述:

对于每组数据,输出最少能剩余多少个炮。

示例1

输入

2
1 2
2 3

输出

2
4

思路:

这个题是一道找规律的题,玩过象棋的都知道,炮的走法,题目上也给了说明,然后比较重要的是如果只有一个空,那么不能变,要是行或者是列为一的话,最后也只能剩下两个炮,其他的就是剩下四个炮。自己多动手画一画就知道了。

#include<iostream>
#include<cstdio>
using namespace std;
int main(){
    int num;
    scanf("%d",&num);
    long long int a,b;
    while(num--)
    {
    scanf("%lld%lld",&a,&b);
    if(a==1&&b==1) printf("1\n");
    else if(a==1||b==1){
        printf("2\n");
    }
    else printf("4\n");
    }
    return 0;
 
}

链接:https://ac.nowcoder.com/acm/contest/11213/F
来源:牛客网
 

标签:10,int,象棋,ACM,leq,num,printf
来源: https://blog.csdn.net/m0_53968391/article/details/118859655

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有