-
[백준-2477] 참외밭 - Java공부/백준 2023. 1. 21. 14:42728x90
https://www.acmicpc.net/problem/2477
백준 2477번 참외밭 자바풀이
난이도: 실버2
풀이
가장 긴 가로, 세로를 구하여 직사각형에서 작은 직사각형을 빼면 구할 수 있다.
코드
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class back2477 { public static void main(String args[]) throws NumberFormatException, IOException{ BufferedReader br=new BufferedReader(new InputStreamReader(System.in)); int x=0,y=0,l=0,r=0,w=0,h=0,maxW=0,maxH=0; int arr[]=new int[6]; int num=Integer.parseInt(br.readLine()); for(int i=0;i<6;i++){ StringTokenizer st=new StringTokenizer(br.readLine()); int d=Integer.parseInt(st.nextToken()); arr[i]=Integer.parseInt(st.nextToken()); if(d>2){ if(maxW<arr[i]){ x=i; maxW=arr[i]; } }else{ if(maxH<arr[i]){ y=i; maxH=arr[i]; } } } if(x+1==6){ l=0; }else{ l=x+1; } if(x-1==-1){ r=5; }else{ r=x-1; } w=Math.abs(arr[l]-arr[r]); if(y+1==6){ l=0; }else{ l=y+1; } if(y-1==-1){ r=5; }else{ r=y-1; } h=Math.abs(arr[l]-arr[r]); System.out.println(num*((arr[x]*arr[y])-(w*h))); } }
728x90반응형'공부 > 백준' 카테고리의 다른 글
[백준-1000] A+B - C (0) 2023.04.23 [백준-2557] Hello World - C (0) 2023.04.23 [백준-25501] 재귀의 귀재 - Java (0) 2023.01.20 [백준-2445] 별 찍기 - 8 - Java (0) 2022.12.14 [백준-11365] !밀비 급일 - Java (0) 2022.12.10