0
最近、私はCodesprint2に参加しました。私は次の質問に解決策を提出することができませんでした。 http://www.spoj.pl/problems/COINTOSS/ 私は、(URL:http://pastebin.com/uQhNh9Rcを)成功したソリューションのいずれかをチェックアウトしjava - codesprint2プログラミングコンテストの回答
を(codesprintリンクはログインが必要なので、私はspojの問題声明へのリンクを掲載している)と、使用されるロジックは私と全く同じです、まだ私はまだ、私はそれを見つけることができませんように誰かが、私が作った何のエラーを教えてくださいすることができれば、私は非常に感謝するでしょう
を「間違った答えを」取得しています。ありがとうございました。
マイコード:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.text.DecimalFormat;
import java.util.StringTokenizer;
public class Solution
{
static double solve(int n, int m)
{
if(m==n)
return 0;
if(m==0)
return (Math.pow(2, n+1) - 2);
else
{
double res = 1 + (Double)( solve(n, m+1) + solve(n, 0))/2;
return res;
}
}
public static void main(String[] args) throws IOException
{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int n, m;
int t = Integer.parseInt(br.readLine());
StringTokenizer tok;
String s;
for(int T=0; T<t; T++)
{
s = br.readLine();
tok = new StringTokenizer(s);
n = Integer.parseInt(tok.nextToken());
m = Integer.parseInt(tok.nextToken());
DecimalFormat df = new DecimalFormat();
df.setMaximumFractionDigits(2);
df.setMinimumFractionDigits(2);
System.out.println(df.format (solve(n, m)));
}
}
}
元の問題文には、0 <= m <= nという制約があります – arya