zoukankan      html  css  js  c++  java
  • Codeforces Round #511 (Div. 1) T2 Little C Loves 3 II

    题目

    Little C loves number «3» very much. He loves all things about it.
    Now he is playing a game on a chessboard of size n×mn imes m. The cell in the xx-th row and in the yy-th column is called (x,y)(x,y). Initially, The chessboard is empty. Each time, he places two chessmen on two different empty cells, the Manhattan distance between which is exactly 33. The Manhattan distance between two cells (xi,yi)(x_i,y_i) and (xj,yj)(x_j,y_j) is defined as xixj+yiyj|x_i-x_j|+|y_i-y_j|.
    He want to place as many chessmen as possible on the chessboard. Please help him find the maximum number of chessmen he can place.
    Input
    A single line contains two integers nn and mm (1n,m1091 leq n,m leq 10^9) — the number of rows and the number of columns of the chessboard.
    Output
    Print one integer — the maximum number of chessmen Little C can place.
    Examples
    inputCopy
    2 2
    outputCopy
    0
    inputCopy
    3 3
    outputCopy
    8
    Note
    In the first example, the Manhattan distance between any two cells is smaller than 33, so the answer is 00.
    In the second example, a possible solution is (1,1)(3,2)(1,1)(3,2), (1,2)(3,3)(1,2)(3,3),(2,1)(1,3)(2,1)(1,3), (3,1)(2,3)(3,1)(2,3).

    和史前巨佬ldx还有dzy神仙一起做的

    这道题…

    可以说是打表吧

    首先我们可以观察到,对于任意一个161*6或者242*4的格子,都是可以填满的,

    那也就说如果有一边长能被6或者4给整除,那就是可以填满的

    然后对于5*5以下的了,我们可以直接打表预处理出来(因为有一些特殊情况吧)

    然后。。

    就被2*7给hack了

    然后特判了一个2*7就过了

    #include <bits/stdc++.h>
    #define ll long long
    using namespace std;
    int tr[5][5]={ {0,0,0,2,4},
    			   {0,0,4,8,10},
    			   {0,4,8,12,14},
    			   {2,8,12,16,18},
    			   {4,10,14,18,24}};
    int main() {
    	int n,m;
    	cin>>n>>m;
    	if(n<m) swap(n,m);
    	ll ans=0;
    	if(m==1)ans+=n/6*6,n%=6,ans+=tr[0][n-1];
    	else if(n%4==0 || m%4==0)ans=(ll)n*m;
    	else if(n%6==0 || m%6==0)ans=(ll)n*m;
    	else if(n<=5 && m<=5)ans=tr[n-1][m-1];
    	else if(n==7 && m==2)ans=12;else ans=(ll)n*m/2*2;
    	cout<<ans<<'
    ';
    } 
    
    

    反正dzy神仙带我飞,什么都不怕

  • 相关阅读:
    ps4 如何导出切片 单个图片
    测试webservice的时候,如果出现这个错误:"The test form is only available for requests from the local machine"
    js jquery 按钮点击后 60秒之后才能点击 60秒倒计时
    有空研究一下 superwebsocket (底层是 supersocket) 用来实现 web聊天什么的
    Vue学习笔记一:初识Vue
    被爬虫了,嘻嘻嘻
    Mybatis-generator自动生成器
    SpringCloud笔记五:Feign
    SpringCloud笔记四:Ribbon
    SpringCloud笔记三:Eureka服务注册与发现
  • 原文地址:https://www.cnblogs.com/forever-/p/9736068.html
Copyright © 2011-2022 走看看