问题描述
给一个n行m列的方格用红绿蓝三种颜色染色,下图给出了4行3列和5行7列的例子。
根据例子中的染色方案,请求出n行m列的方格中有多少个格子被染成了红色。
输入格式
输入一行包含两个整数n, m,用一个空格分隔。
输出格式
输出一个整数,表示被染成红色的格子数量。
90分代码
#include<bits/stdc++.h>
using namespace std;
short a[10005][10005];
int main(){
int ans=1,cnt=0;
int n,m;
cin>>n>>m;
for(int i=1;i<=m;i+=3){
if(ans<m){
cnt+=ans;
ans+=3;
}else{
cnt+=m;
ans++;
}
}
for(int i=m-1;i>=1;i--){
if(ans%3==1){
cnt+=i;
}
}
cout<<cnt;
return 0;
}