Codeforces Beta Round #69 (Div. 2 Only)
Div. 1復帰が目標でした.A. Panoramixs Prediction
値が小さいので愚直に一つずつ試行.- import java.util.*;
- import java.lang.*;
- import java.math.*;
- import java.io.*;
- import static java.lang.Math.*;
- import static java.util.Arrays.*;
- public class A{
- Scanner sc=new Scanner(System.in);
- int INF=1<<28;
- double EPS=1e-9;
- int m, n;
- void run(){
- m=sc.nextInt();
- n=sc.nextInt();
- boolean f=true;
- for(int i=m+1; i<n; i++){
- f&=!isP(i);
- }
- f&=isP(n);
- println(f?"YES":"NO");
- }
- boolean isP(int n){
- for(int i=2; i*i<=n; i++){
- if(n%i==0){
- return false;
- }
- }
- return n!=1;
- }
- void println(String s){
- System.out.println(s);
- }
- void print(String s){
- System.out.print(s);
- }
- void debug(Object... os){
- System.err.println(Arrays.deepToString(os));
- }
- public static void main(String[] args){
- new A().run();
- }
- }
B. Depression
%12を忘れないように気をつけるだけ.- import java.util.*;
- import java.lang.*;
- import java.math.*;
- import java.io.*;
- import static java.lang.Math.*;
- import static java.util.Arrays.*;
- public class B{
- Scanner sc=new Scanner(System.in);
- int INF=1<<28;
- double EPS=1e-9;
- void run(){
- String[] ss=sc.next().split(":");
- double h=Integer.parseInt(ss[0]);
- double m=Integer.parseInt(ss[1]);
- h=(h%12)/12.0*360;
- m=m/60.0*360;
- h=(h+m/12)%360;
- println(h+" "+m);
- }
- void println(String s){
- System.out.println(s);
- }
- void print(String s){
- System.out.print(s);
- }
- void debug(Object... os){
- System.err.println(Arrays.deepToString(os));
- }
- public static void main(String[] args){
- new B().run();
- }
- }
C. Heroes
全探索で解くことが出来るが,ちょっとしたミスをしたためSystem Test落ち.下は修正版.
- import java.util.*;
- import java.lang.*;
- import java.math.*;
- import java.io.*;
- import static java.lang.Math.*;
- import static java.util.Arrays.*;
- public class C{
- Scanner sc=new Scanner(System.in);
- int INF=1<<28;
- double EPS=1e-9;
- int n, a, b, c;
- int[] p, q;
- HashMap<String, Integer> map;
- void run(){
- int m=7;
- map=new HashMap<String, Integer>();
- map.put("Anka", 0);
- map.put("Chapay", 1);
- map.put("Cleo", 2);
- map.put("Troll", 3);
- map.put("Dracul", 4);
- map.put("Snowy", 5);
- map.put("Hexadecimal", 6);
- n=sc.nextInt();
- p=new int[n];
- q=new int[n];
- for(int i=0; i<n; i++){
- p[i]=map.get(sc.next());
- sc.next();
- q[i]=map.get(sc.next());
- }
- a=sc.nextInt();
- b=sc.nextInt();
- c=sc.nextInt();
- long dmin=1L<<32;
- int lmax=0;
- for(int k=1; k<1<<m; k++){
- for(int j=1; j<1<<m; j++){
- int i=((1<<m)-1)&~(k^j);
- if((k^j)==(k|j)&&i>0){
- int x=a/Integer.bitCount(i);
- int y=b/Integer.bitCount(j);
- int z=c/Integer.bitCount(k);
- int d=max(abs(x-y), max(abs(y-z), abs(z-x)));
- int l=0;
- for(int e=0; e<n; e++){
- if(((k>>p[e])&1)!=0&&((k>>q[e])&1)!=0)
- l++;
- else if(((j>>p[e])&1)!=0&&((j>>q[e])&1)!=0)
- l++;
- else if(((i>>p[e])&1)!=0&&((i>>q[e])&1)!=0)
- l++;
- }
- if(d<dmin){
- dmin=d;
- lmax=l;
- }else if(d==dmin){
- lmax=max(lmax, l);
- }
- }
- }
- }
- println(dmin+" "+lmax);
- }
- void println(String s){
- System.out.println(s);
- }
- void print(String s){
- System.out.print(s);
- }
- void debug(Object... os){
- System.err.println(Arrays.deepToString(os));
- }
- public static void main(String[] args){
- new C().run();
- }
- }
D. Falling Anvils
x2+√px+q=0は,p≧4qならば実解が存在する.つまり,(p,q)∈[0,a]×[-b,b]の長方形内においてp≧4qを満たす領域の面積を計算し,それを長方形の面積で割った値が,実解が存在する確率.a=0やb=0の時は,0除算を避けるために例外処理を追加する必要がある.
- import java.util.*;
- import java.lang.*;
- import java.math.*;
- import java.io.*;
- import static java.lang.Math.*;
- import static java.util.Arrays.*;
- public class D{
- Scanner sc=new Scanner(System.in);
- int INF=1<<28;
- double EPS=1e-9;
- int t;
- double a, b;
- void run(){
- t=sc.nextInt();
- for(int i=0; i<t; i++){
- a=sc.nextInt();
- b=sc.nextInt();
- double area;
- if(4*b<a+EPS){
- area=2*b*(a-b);
- }else{
- area=a*(b+a/8);
- }
- if(abs(b)<EPS){
- println("1");
- }else if(abs(a)<EPS){
- println("0.5");
- }else{
- println(area/(2*a*b)+"");
- }
- }
- }
- void println(String s){
- System.out.println(s);
- }
- void print(String s){
- System.out.print(s);
- }
- void debug(Object... os){
- System.err.println(Arrays.deepToString(os));
- }
- public static void main(String[] args){
- new D().run();
- }
- }
1624 -> 1654
復帰完了…というところです.
0 件のコメント:
コメントを投稿