## 11152 - Colourful Flowers

Moderator: Board moderators

Scottathon
New poster
Posts: 9
Joined: Fri Nov 03, 2006 1:25 am

Code: Select all

``````import java.io.*;
import java.util.*;
import java.text.*;

class Main {
public static void main (String args[]) throws IOException {
Scanner in = new Scanner(System.in);
DecimalFormat f = new DecimalFormat();
f.setMaximumFractionDigits(4);
f.setMinimumFractionDigits(4);
while (in.hasNext()) {
double a = in.nextDouble();
double b = in.nextDouble();
double c = in.nextDouble();

double triangleArea = 0.25 * Math.sqrt( (a+(b+c)) * (c-(a-b)) * (c+(a-b)) * (a+(b-c)));
double inCircle = Math.pow((2*triangleArea) / (a+b+c), 2) * Math.acos(-1);
double circumCircle = Math.pow(circumCircleRadius, 2) * Math.acos(-1);

System.out.print(f.format(circumCircle - triangleArea) + " ");
System.out.print(f.format(triangleArea - inCircle) + " ");
System.out.println(f.format(inCircle));

}
}
}``````
Can anyone see what's wrong with this? My program has been right for the small amount of sample I/O in the topic, but I keep getting wrong answer.

turcse143
Learning poster
Posts: 81
Joined: Wed May 09, 2007 9:59 pm
no problem in the the coding format. But check the formula.
You can use this:
area of RED: pi*r*r;
r=sqrt(s*(s-a)*(s-b)*(s-c))/s;
s=(a+b+c)/2;

area of violets: area of triangle-area of RED;

AREA OF BIG CIRCLE: pi*R*R
R=(a*b*c)/4*sqrt((s-a)*(s-b)*(s-c));

then calculate area of yellow by subtracting;

Hope it will work.

zevrap
New poster
Posts: 1
Joined: Fri Mar 30, 2012 9:14 pm

### Re: 11152 - Colorful Flowers

can't figure out the problem , my code seems to pass the sample io with the problem and also sample ios in this thread ... Code: Select all

``````#include <iostream>
#include <cstdio>
#include <cmath>
using namespace std;

#define PI 3.14159265

double triangle_area(double a,double b,double c)
{
double s=(a+b+c)/2.0;
return sqrt(s*(s-a)*(s-b)*(s-c));
}

int main()
{
double a,b,c,area;

while(scanf("%lf%lf%lf",&a,&b,&c)!=EOF)
{
area=triangle_area(a,b,c);

printf("%.4lf ",PI*(a*b*c/4.0/area)*(a*b*c/4.0/area)-area);

printf("%.4lf ",area-PI*(2.0*area/(a+b+c))*(2.0*area/(a+b+c)));

printf("%.4lf\n",PI*(2.0*area/(a+b+c))*(2.0*area/(a+b+c)));

}

return 0;
}
``````
can anybody help ?
thanks in advance .... brianfry713
Guru
Posts: 5947
Joined: Thu Sep 01, 2011 9:09 am
Location: San Jose, CA, USA

### Re: 11152 - Colorful Flowers

Check input and AC output for thousands of problems on uDebug!

yongwhan
New poster
Posts: 1
Joined: Tue May 01, 2012 2:10 am

### Re: 11152 - Colorful Flowers

make sure the following things:

1. multiple test cases
2. precision for PI -- just use 2*acos(0)
3. output right amount (4) precision after the decimal point.

Elsterrier
New poster
Posts: 3
Joined: Fri Jan 11, 2013 2:58 pm

### Re: 11152 - Colorful Flowers

anything wrong with my code?

Code: Select all

``````Got AC
``````
Last edited by Elsterrier on Thu Jan 17, 2013 2:09 am, edited 1 time in total.

brianfry713
Guru
Posts: 5947
Joined: Thu Sep 01, 2011 9:09 am
Location: San Jose, CA, USA

### Re: 11152 - Colorful Flowers

change line 10 to:
p=(a+b+c)/2.0;
Check input and AC output for thousands of problems on uDebug!

Elsterrier
New poster
Posts: 3
Joined: Fri Jan 11, 2013 2:58 pm

### Re: 11152 - Colorful Flowers

Thanks, got AC now

raj
Learning poster
Posts: 78
Joined: Fri Feb 15, 2013 5:39 pm

### Re: 11152 - Colorful Flowers

help............. why Wrong Answer...

Code: Select all

``````import java.io.*;
import java.util.*;
public class Main{
public static void main(String [] args)throws IOException{
PrintWriter z = new PrintWriter(System.out);
String line;
double PI = Math.acos(-1);
{
int a,b,c;
StringTokenizer s = new StringTokenizer(line);
int w = Integer.valueOf(s.nextToken());
int x = Integer.valueOf(s.nextToken());
int y = Integer.valueOf(s.nextToken());
int max = Math.max(w,x);
c = Math.max(max,y);
int min = Math.min(w,x);
a = Math.min(min,y);
if(w!=c && w!=a)
{
b = w;
}
else if(x!=c && x!=a)
{
b = x;
}
else
{
b = y;
}
double roses = PI*(b/4.0)*(b/4.0);
double triangle = 0.5*a*b - roses;
double circle = (PI*(c/2.0)*(c/2.0)) - (0.5*a*b);
String cir = String.format("%.4f",circle);
String tri = String.format("%.4f",triangle);
String ros = String.format("%.4f",roses);
z.println(cir+" "+tri+" "+ros);
}
z.flush();
}
}
``````

brianfry713
Guru
Posts: 5947
Joined: Thu Sep 01, 2011 9:09 am
Location: San Jose, CA, USA

### Re:

mmonish wrote:ur formula for the area of the circle is not correct.

try this cases

Code: Select all

``````15 16 17
4 6 8
25 32 41

My AC output
160.2326 44.0084 65.9734
41.9976 6.3830 5.2360
920.8626 190.6515 209.2685``````
Try to figure out the correct formula for the radious of the circle.

Hope this helps.
Check input and AC output for thousands of problems on uDebug!

B_sayem
New poster
Posts: 7
Joined: Wed Dec 11, 2013 7:57 pm

### Re: 11152 - Colorful Flowers

Why WA .help me to find error.Thanks yousuf

Code: Select all

``Remove after AC.Thanks  :D ``
Last edited by B_sayem on Sat Dec 14, 2013 10:09 pm, edited 3 times in total.

Yousuf
New poster
Posts: 13
Joined: Thu Jun 09, 2011 8:22 am

### Re: 11152 - Colorful Flowers

Use double instead of float. Its better to use double for floating point calculation. double gives much accurate result. Hope you will get AC ehsanulbigboss
New poster
Posts: 32
Joined: Tue Jul 22, 2014 1:17 am

### 11152 - Colourful Flowers     Last edited by ehsanulbigboss on Thu Feb 05, 2015 10:03 pm, edited 2 times in total.

brianfry713
Guru
Posts: 5947
Joined: Thu Sep 01, 2011 9:09 am
Location: San Jose, CA, USA

### Re: 11152 - Colourful Flowers

Next time post in the existing thread.
Check input and AC output for thousands of problems on uDebug!

sejan
New poster
Posts: 6
Joined: Sun Nov 16, 2014 8:32 pm

### Re: 11152 - Colourful Flowers

why getting WA????

Code: Select all

``````#include <stdio.h>
#include <math.h>
int main()
{
int a,b,c;
double pi=acos(-1);

while(scanf("%d%d%d",&a,&b,&c)!=EOF)
{
double pm=(a+b+c)/2;
double ta=sqrt(pm*(pm-a)*(pm-b)*(pm-c));
double R=((a*b*c)/4)/ta;
double sfa= (pi*R*R)-ta;
double icr= ta/pm;
double ica= pi*icr*icr;
double va= ta-ica;
printf("%.4lf %.4lf %.4lf\n",sfa,va,ica);
}
return 0;
}
``````