HDU 2549 의 큰 뜻 은 보답 하기 어렵다 (물 문제, 하지만 작은 구덩이 가 있다!)
3217 단어 큰 뜻 은 이 루 기 어렵다.HDU2549
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 10552 Accepted Submission(s): 3512
Problem Description
그러나 MCA 산 의 각 지역 의 호걸 들 이 모두 산 을 나 와 대적 했다 고 한다. 작년 에 강호 에서 명성 을 떨 쳤 던 강호 사람들 은 '만 군 중에서 장군 의 첫 번 째 등급 을 빼 앗 아 나 를 버 리 고 누 구 를 버 리 느 냐' 는 감로 도 약 함 을 보이 지 않 았 다. "하늘 이 이 사람 에 게 큰 임 무 를 내 려 줄 것 이 니 먼저 몸 과 피 부 를 굶 기 고 몸 이 빈약 해 질 것 이다." 라 고 그 는 말 했다.안 타 깝 게 도 작년 에 상장 1 급 을 받 았 을 때 실수 로 오른손 오른쪽 관절 이 일곱 번 째 골절 되 었 기 때문에 1 년 동안 상 처 를 입 었 습 니 다. 큰 포 부 를 가지 고 있 지만 큰 뜻 을 이 루 지 못 했 습 니 다. 지금 은 천하 가 위 태 롭 습 니 다. 무 예 를 배 우 는 사람 이 어떻게 수수수방관 할 수 있 겠 습 니까? 그래서 그 는 산 에 나 가 위 스키 를 도와 요 나라 도둑 에 게 대항 하기 로 결 정 했 습 니 다. 이때 그의 맞바람 과 얼음 잎 이 나 타 났 습 니 다. 두 사람 은 모두 물 속성 이지 만 10 년 전의 원한 때 문 입 니 다.물불 이 되다.
단풍나무 얼음 잎 은 감로 에 게 한 가지 질문 에 대답 하 라 고 요구 했다. 그렇지 않 으 면 그 를 떠 나 지 못 하 게 했다. 안 타 깝 게 도 감 로 는 머리 를 쥐 어 짜 도 결과 가 없 었 다. 네가 그 를 도와 해결 하고 그 가 대업 을 완성 하도록 도와 주 기 를 바란다.
문 제 는 이 렇 습 니 다. 소수점 x 를 드 리 겠 습 니 다. 소수점 다음 n 위 는 무엇 입 니까? (1 < = n < = 6)
Input
먼저 t 를 입력 하면 t 조 데이터 가 있 음 을 표시 하고 t 줄 을 따라 갑 니 다.
줄 마다 작은 숫자 를 입력 하 십시오. (데 이 터 를 입력 하면 반드시 a. b 형식 입 니 다. 문 제 를 단순화 하기 위해 순환 소수 가 없 는 경우)
그리고 n 과 함께 소수점 아래 몇 위 를 표시 합 니 다.
Output
소수 점 후 n 위 를 나타 내 는 숫자 를 출력 합 니 다.
Sample Input
3
1.234 1
2.345 2
3.456 3
Sample Output
2
4
6
Author
영웅 이 어디서 나 오 겠 는가
Source
2008 '화려 한 모래 캠퍼스 문화 활동 의 달' 의 대학생 프로 그래 밍 경기 및 신입생 특별 공연
원본 링크:http://acm.hdu.edu.cn/showproblem.php?pid=2549
제목 의 뜻 은 이미 명확 하 게 말 했 지만 n 위 가 없 으 면 0 을 출력 합 니 다! 예 를 들 어 1. 123 의 4 위 는 0 입 니 다!
제 생각 은 소수점 의 위 치 를 찾 은 후에 해당 하 는 위치 에 있 는 문 자 를 출력 할 수 있 습 니 다. 그러나 저 는 문자열 에 대한 이해 가 깊 지 않 습 니 다. 사실은 선생님 께 서 말씀 하 셨 던 지식 이 있 습 니 다. 지금 은 잊 었 습 니 다. 지금 은 복습 하 겠 습 니 다.
char str [10] = {"12345"}; / 괄호 는 생략 할 수 있 습 니 다.
int len = strlen(a)=5;
그러나 str [6] = '\ 0', 이것 은 시스템 이 자동 으로 추가 한 것 입 니 다! 그래서 이 문제 의 판단 은:
p + n > len 은 요구 하 는 자릿수 가 실제 자릿수 를 초과 하여 0 을 출력 합 니 다.
p + n < len 은 n 과 법 을 표시 하고 해당 위치 에 있 는 문 자 를 출력 합 니 다.
p + n = len 은 요? 마침 '\ 0' 인 줄 알 았 는데 문 자 를 출력 할 수도 없 으 니 0 도 출력 해 야 합 니 다.
주: p 는 소수점 이 문자열 에 있 는 위치 이 고 n 은 요구 하 는 자릿수 이 며 len 은 문자열 의 길이 입 니 다.
AC 코드:
#include <iostream>
#include <cstring>
using namespace std;
int main()
{
int t,n;
char a[10];
cin>>t;
while(t--)
{
cin>>a>>n;
int len= strlen(a);
int p;
for(int i=0;i<len;i++)
{
if(a[i]=='.')
{
p=i;
break;
}
}
if(p+n>=len)//p+n==len '\0'!!!
cout<<"0"<<endl;
else
cout<<a[p+n]<<endl;
}
return 0;
}