CodePaste Logo
New Snippet New Snippet Recent Snippets Recent Snippets My Snippets My Snippets Web Code Search Snippets Search
Sign inor Register
Language: C++

Counting triangles

57 Views
Copy Code Show/Hide Line Numbers
#include <vector>
#include <list>
#include <map>
#include <set>
#include <deque>
#include <stack>
#include <bitset>
#include <algorithm>
#include <functional>
#include <numeric>
#include <utility>
#include <sstream>
#include <iostream>
#include <iomanip>
#include <cstdio>
#include <cmath>
#include <cstdlib>
#include <ctime>
using namespace std;
 
 
int main()
{
    //freopen("input.txt","r",stdin);
    int cases;
    long long res;
    int num[4];
    short X,Y;
    cin >> cases;
    while(cases--)
    {
        res = 0;
        cin >> X >> Y;
        for(int i=0;i<=X;i++)
        {
            for(int j=0;j<=Y;j++)
            {
                //For every point I count the number of possible traingles with possible rotations
                num[0] = min(i,Y-j);
                num[1] = min(X-i,Y-j);
                num[2] = min(X-i,j);
                num[3] = min(i,j);
                for(int k=0;k<4;k++)
                {
                    if(k!=0)
                        res += num[k]*(num[k-1]+1);
                    else
                        res += num[k]*(num[3]+1);
                }
            }
        }
        printf("%lld\n",res);
    }
    return 0;
} 
by Islam
  September 03, 2010 @ 5:52am

Add a comment


Report Abuse
brought to you by:
West Wind Techologies



If you find this site useful and use it frequently please consider making a donation to support this free service.
Donate