호남성 제6회 중신소프트웨어교육배 대학생 프로그래밍대회 시험문제 제2문제 동생의 숙제


동생의 숙제
Time Limit: 1000ms, Special Time Limit:2500ms,Memory Limit:65536KB
Total submit users: 24, Accepted users:22
Problem 10931 : No special judgement
Problem description
너의 동생은 방금'100 이내의 가감법'이라는 부분의 숙제를 다 했으니, 네가 그를 도와 검사해 보아라.각 문제(동생의 답안 포함)의 양식은 a+b=c 또는 a-b=c이고 그 중에서 a와 b는 숙제에서 제시한 것으로 모두 100을 넘지 않는 비음정수이다.c는 동생이 계산한 답이다. 200을 넘지 않는 비음정수일 수도 있고 한 글자인'?'일 수도 있다.그는 계산할 줄 모른다는 뜻이다.
Input
입력 파일은 파일 끝 문자로 끝나는 100줄을 초과하지 않습니다.줄마다 하나의 제목을 포함하고, 형식은 상술한 규정에 부합되며, 공백 문자도 포함하지 않습니다.입력한 모든 정수에는 리딩 0이 없습니다.
Output
출력은 한 줄에 동생이 맞힌 문제의 수를 포함하는 비음정수를 포함한다.
Sample Input
1+2=3 3-1=5 6+7=? 99-0=99
Sample Output
2
Problem Source
  The Sixth Hunan Collegiate Programming Contest
 
제목 연결:http://acm.hunnu.edu.cn/online/?action=problem&type=show&id=10931
 
분석: 간단한 문자열 처리 문제
 
소스 코드:
import java.util.Scanner;

 

public class Main {

 

   public static void main(String[] args) {

 

      int count = 0;

      Scanner scanner = new Scanner(System.in);

      while (scanner.hasNext()) {

 

        String str = scanner.next();

 

        int opIndex = str.indexOf("+");//        + -      -1      

        if (opIndex == -1) {

           opIndex = str.indexOf("-");

        }

 

        int eqPos = str.indexOf("=");

 

        // System.out.println(opIndex);

        // System.out.println(eqPos);

 

        String aStr = str.substring(0, opIndex);//  a    

        String bStr = str.substring(opIndex + 1, eqPos);//  b    

        String resultStr = str.substring(eqPos + 1);//       

 

        int a = Integer.parseInt(aStr);

        int b = Integer.parseInt(bStr);

        int c;

        if (!resultStr .endsWith("?") ) {

           c = Integer.parseInt(resultStr);

 

        } else {

           c = -32768;

 

        }

        char op = str.charAt(opIndex);

        // System.out.println(op);

        if (op == '+' && c == a + b) {

           count++;

 

        } else if (op == '-' && c == a - b) {

           count++;

        }

        // System.out.println(aStr);

        // System.out.println(bStr);

        // System.out.println(resultStr);

        

      }

      System.out.println(count);

          

 

   }

 

}

 


 

좋은 웹페이지 즐겨찾기