UVa 11231 - Black and white painting Solution

#include <iostream>
using namespace std;
long long int fx(long long int n,long long int m){
    if(n<8||m<8)
        return 0;
    return (1+((n&(~1))-8)/2)*(1+((m&(~1))-8)/2);
}
int main(){
    ios::sync_with_stdio(0);
    long long int n,m,c;
    while(cin>>n>>m>>c){
        if((n|m|c)==0)
            return 0;
        if(c){
            cout<<fx(n,m)+fx(n-1,m-1)<<endl;
        }
        else{
            cout<<fx(n,m-1)+fx(n-1,m)<<endl;
        }
    }
}

Comments