Tuesday, December 19, 2017

11401 - Triangle Counting Uva Solution Logic

নিচের ছবি দুইটি ভালো করে দেখে , প্যাটার্ন বুঝে নাও - তারপর , সলিউশন দেখো :) :)

একটা জিনিস মাথায় রেখো , ত্রিভুজের যে কোনো দুই বাহু এর যোগফল আরেকটা থেকে বড়ো :)


#include<bits/stdc++.h>

using namespace std;

#define LL long long

  LL F[1000007], P[1000007];

void precal()
{
    F[3] = 0; P[3] = 0;
    LL var = 0;
    for(int i=4; i<=1000000; i++)
    {
        if(i%2==0)
        {
            var++;
            P[i] = P[i-1] + var;
            F[i] = F[i-1] + P[i];
        }
        else
        {
            P[i] = P[i-1] + var;
            F[i] = F[i-1] + P[i];
        }
    }
}

int main()
{
    precal();
    int n;
    while(scanf("%d", &n) && n>=3)
    {
        printf("%lld\n", F[n]);
    }
}

No comments:

Post a Comment