Tuesday, 10 February 2015

C Solution Of Light Online Judge 1008

#include<stdio.h>
#include<math.h>

int main()
{
int t,j,i,te;
long long n,s,x,y;
scanf("%d",&i);
for(j=1;j<=i;j++){
scanf("%lld",&s);
n=ceil(sqrt ((double)(s)));
if(n*n-s<n)x=n,y=n*n-s+1;
        else x=-n*n+2*n+s-1,y=n;
        if(n&1)
        {
            te=x;
            x=y;
            y=te;
        }
        printf("Case %d: %lld %lld\n",j,x,y);
    }
    return 0;
}

9 comments:

  1. bro if u explain it how it works than it will be helpful to us.

    ReplyDelete
    Replies

    1. প্রথমে আমরা কিছু অংশে ভাগ করি।
      ১-৪ পর্যন্ত, ৫-৯ পর্যন্ত, ১০-১৬...
      ১-৪ এর ক্ষেত্রে...
      ৪ এর বর্গমূল মান=২ । বাকি ১,২,৩ কে বর্গমূল করে ceiling করলে মান হয় ২ ।
      ৫-৯ এর ক্ষেত্রে...
      ৯ এর বর্গমূল ৩ । বাকি ৫,৬,৭,৮ কেও বর্গমূল করে ceiling করলে মান হয় ৩ ।
      যদি চিত্রের নিচ থেকে row and column হিসেব করি...
      এখানে একটা বিষয় লক্ষ্য করলে দেখা যাবে যে ৫-৯ থেকে আমরা ৩ পাই । এই ৩ হচ্ছে ৫-৯ এর row অথবা column মান ।
      যেহেতু মান ৩ ,তাই ৯ থেকে ৩ টি সংখ্যা র জন্য row মান ৩...(৯,৮,৭)। ৬ ও ৫ এর ক্ষেত্রে কলাম এর মান ৩ হবে ।
      এটা বের করার জন্য ( n*n-s<n) এই সূত্র ব্যবহার করা হয়েছে ।এই ক্ষেত্রে এটা সত্য হবে কেবলমাত্র ৯,৮,৭ এর জন্য এবং ৯,৮,৭ এর হবে ৩ । এর কলাম এর ক্ষেত্রে দেখতে পাচ্ছি যে ৯ আছে ১ নং কলাম এ ,৮ আছে ২ নং কলাম এ, ৭আছে ৩ নং কলাম এ...
      আমরা যদি ৯-৯=০ , ০+১=১...যা ৯ এর কলাম।। আবার ৯-৮=১ , ১+১=২.. যা ৮ এর কলাম।। আবার ৯-৮=১ , ১+১=২.. যা ৮ এর কলাম।।
      আশা করি আপনি মোটামুটি বুঝতে পেরেছেন । ধন্যবাদ।

      Delete
    2. Thanks for explaining...
      :)

      Delete
  2. #include

    int main()

    {
    int ara[5][5]={{1,4,5,16,17},{2,3,6,15,18},{9,8,7,14,19},{10,11,12,13,20},{25,24,23,22,21}};
    int T,i,s,r,c;
    scanf("%d", &T);
    for(i=1; i<=T; i++)
    {
    scanf("%d", &s);
    for(r=0; r<5; r++)
    {
    for(c=0; c<5; c++)
    {
    if(ara[r][c]==s)
    {
    printf("Case %d: %d %d\n",i,c+1,r+1);
    }
    }
    }
    }
    return 0;
    }

    ReplyDelete
  3. amarta array diye korchi , sob kichu mile but submit korle wrong dehay keno bolte parben?

    ReplyDelete
  4. #include

    int main()

    {
    int ara[5][5]={{1,4,5,16,17},{2,3,6,15,18},{9,8,7,14,19},{10,11,12,13,20},{25,24,23,22,21}};
    int T,i,s,r,c;
    scanf("%d", &T);
    for(i=1; i<=T; i++)
    {
    scanf("%d", &s);
    for(r=0; r<5; r++)
    {
    for(c=0; c<5; c++)
    {
    if(ara[r][c]==s)
    {
    printf("Case %d: %d %d\n",i,c+1,r+1);
    }
    }
    }
    }
    return 0;
    }

    ReplyDelete
  5. This comment has been removed by the author.

    ReplyDelete
  6. #include
    #include

    int main ()
    {
    long long int x,y,S,m1,m2,n;
    int T,i;
    scanf("%d",&T);
    for (i=1; i<=T; i++)
    {
    scanf("%I64d",&S);
    n=ceil(sqrt(S));

    m1=n*n-2*n+2;
    m2=n*n;

    if(n%2==0)
    {
    if (S-m1<n)
    {
    y=n;
    x=S-m1+1;
    }
    else
    {
    x=n;
    y=m2-S+1;
    }
    }
    else
    {

    if (m2-S<n)
    {
    y=n;
    x=m2-S+1;
    }
    else
    {
    x=n;
    y=S-m1+1;
    }
    }

    printf("Case %d: %I64d %I64d\n",i,x,y);
    }

    return 0;
    }

    এই কোডে রঙ দেখায় কেন?

    ReplyDelete