Tuesday 8 May 2012

UVa 11219 How old are you? Solution


#include<stdio.h>
int main()
{
int d1,d2,m1,m2,y1,y2,age,t,i;
while(scanf("%d",&t)==1)
{
for(i=1;i<=t;i++)
{scanf("%d/%d/%d",&d2,&m2,&y2);
scanf("%d/%d/%d",&d1,&m1,&y1);
if(d1>d2)
{d2=d2+30;
m1=m1+1;}
if(m1>m2)
{m2=m2+12;
y1=y1+1;}
age=y2-y1;
if(age<0)
printf("Case #%d: Invalid birth date\n",i);
else if(age>130)
printf("Case #%d: Check birth date\n",i);
else
printf("Case #%d: %d\n",i,age);
}
}
return 0;
}

9 comments:

  1. #include
    int main()
    {
    int x1,y1,z1,x2,y2,z2,test,i;
    long int day,age;
    scanf("%d",&test);
    for(i=1;i<=test;i++)
    {
    printf("\n");
    scanf("%d/%d/%d",&x1,&y1,&z1);
    scanf("%d/%d/%d",&x2,&y2,&z2);
    day=(x1+(y1-1)*30+z1*365)-(x2+(y2-1)*30+z2*365);
    if(day<0)
    printf("Case #%d: Invalid birth date\n",i);
    else
    {
    age=(day-day%365)/365;
    if(age>130)
    printf("Case #%d: Check birth date\n",i);
    else
    printf("Case #%d: %ld\n",i,age);
    }
    }
    return 0;
    }
    ভাইয়া আমি এই কোডে WA পাচ্ছি। সম্ভবত প্রত্যেকটা Case এর আগে আমি একটা Blank Line প্রিন্ট করছি, টাই WA । কিন্তু problem statement ে তো বলা আছে " Each test case starts with a blank line," তাহলে blank line প্রিন্ট করছি না কেন ?

    ReplyDelete
    Replies
    1. Blank Line ইনপুট এ দেয়া থাকবে, আউটপুট এ প্রিন্ট করতে বলেনাই।

      Delete
  2. ধন্যবাদ ভাইয়া।

    ReplyDelete
  3. #include
    int main()
    {
    long long int n,i,total,total1,total2,dd1,mm1,yy1,dd,mm,yy,j;
    char ch;
    scanf("%lld",&n);
    for(i=1;i<=n;i++)
    {
    scanf("%lld%c%lld%c%lld",&dd,&ch,&mm,&ch,&yy);
    scanf("%lld%c%lld%c%lld",&dd1,&ch,&mm1,&ch,&yy1);
    total=yy*10000+mm*100+dd;
    total1=yy1*10000+mm1*100+dd1;
    if(total>total1)
    total2=total-total1;
    total2=total2/10000;
    if(total1>total)
    printf("Case #%lld: Invalid birth date\n",i);
    else if(total2>130)
    printf("Case #%lld: Check birth date\n",i);
    else if(total2<=130)
    printf("Case #%lld: %lld\n",i,total2);
    else if(dd==dd1 || mm==mm1)
    printf("Case #%lld: 0\n",i);
    }
    return 0;
    }
    see it it's very very easy

    ReplyDelete
  4. #include
    int main()
    {
    int d1,d2,m1,m2,y1,y2,t,i,age;
    char ch;
    scanf("%d",&t);
    printf("\n");
    for(i=1; i<=t; i++) {
    scanf("%d%c%d%c%d",&d1,&ch,&m1,&ch,&y1);
    scanf("%d%c%d%c%d",&d2,&ch,&m2,&ch,&y2);
    if(d1130) {
    printf("Case #%d: Check birth date\n",i);
    } else if(age<0) {
    printf("Case #%d: Invalid birth date\n",i);
    } else {
    printf("Case #%d: %d\n",i,age);
    }
    }
    return 0;
    }

    ReplyDelete
  5. #include

    int main()
    {
    int t,i;
    while(scanf("%d", &t)==1){

    for(i=1;i<=t;i++){
    int d1,d2,m1,m2,y1,y2,age;

    scanf("%d/%d/%d", &d1, &m1, &y1);
    scanf("%d/%d/%d", &d2, &m2, &y2);

    if(y1>y2)
    {

    if(y1==y2+1){
    if(m1==m2)
    {

    if(d1>=d2)printf("Case #%d: %d\n",i, y1-y2);
    else printf("Case #%d: 0\n",i);

    }
    else if(m2>m1)
    {
    printf("Case #%d: 0\n",i);
    }
    else{
    age=y1-y2;



    printf("Case #%d: %d\n", i,age);
    }
    }

    else{

    age=y1-y2;
    if(age>130){
    printf("Case #%d: Check birth date\n",i);
    }
    else
    {

    if(m1==m2)
    {

    if(d1>=d2)printf("Case #%d: %d\n",i, y1-y2);
    else printf("Case #%d: %d\n",i, y1-y2-1);


    }
    else if(m2>m1)
    printf("Case #%d: %d\n",i, y1-y2-1);

    else{
    age=y1-y2;


    printf("Case #%d: %d\n",i, age);
    }

    }
    }
    }
    else if(y1==y2)
    {
    if(m1==m2)
    {

    if(d1>=d2)printf("Case #%d: 0\n",i);
    else printf("Case #%d: Invalid birth date\n",i);
    }
    else if(m1<m2)
    {
    printf("Case #%d: Invalid birth date\n",i);
    }
    else
    printf("Case #%d: 0\n",i);
    }
    else
    {
    printf("Case #%d: Invalid birth date\n",i);
    }
    }
    }

    }

    আমার কোড টা অনেক বড়, output ঠিক আসে। কিন্তু সাবমিট করলে ভুল বলে। কি ভুল যদি একটু দেখে দিতেন।

    ReplyDelete
    Replies
    1. যদি কোড বুঝতে প্রব্লেম হয়, তাহলে http://pastebin.com/iQxYw3a8 এই লিংকে গিয়ে দেখতে পারেন।

      Delete
    2. যদি কোড বুঝতে প্রব্লেম হয়, তাহলে http://pastebin.com/iQxYw3a8 এই লিংকে গিয়ে দেখতে পারেন।

      Delete
  6. This comment has been removed by the author.

    ReplyDelete