텍스트 :acm 문제가 발생했습니다. 내 코드에서 무엇이 잘못 되었습니까? 문제
입력 : 입력 스트림은 정수 번호 (AI ≤ 1,018 0 ≤ AI)의 세트를 포함한다. 숫자는 공백과 줄 바꿈으로 구분됩니다. 입력 스트림의 크기는 256KB를 초과하지 않습니다.
출력 : 마지막 숫자부터 각 숫자까지 첫 번째 숫자까지 Ai의 제곱근을 출력해야합니다. 각 제곱근은 소수점 이하 4 자리 이상의 별도 행에 인쇄해야합니다.
샘플
입력 :
1427 0876652098643267843 5276538
출력 :
2297.0716 936297014.1164 0.0000 37.7757
시간 제한 : 2.0 초
메모리 제한 : 16메가바이트
32 비트 Microsoft Visual C++ 2010. 2010 년 8 월 3 일까지 Intel C++ Compiler 7.0이 사용되었습니다. 이 페이지에서 Microsoft Visual Studio 2010 Express 무료 사본을 다운로드 할 수 있습니다. 컴파일러는 다음과 같은 매개 변수와 함께 호출됩니다
#include <iostream>
#include <list>
#include <string>
#include <sstream>
#include <math.h>
#include <algorithm>
#include <iomanip>
#include <stdio.h>
void sqrt_f(double n)
{
printf ("%.4f\n", sqrt(static_cast<double>(n)));
}
int main()
{
std::list<double> numbers;
std::string sInput;
getline(std::cin, sInput);
std::istringstream parse(sInput);
double tmp;
while (parse >> tmp)
numbers.push_front(tmp);
std::for_each(numbers.begin(), numbers.end(), sqrt_f);
return 0;
}
그러나 심판의 결과는 다음과 같습니다 : 오답 (TEST1)
가 무엇의
// C cl /TC /MT /EHsc /O2 /W3 /Za /D "_CRT_SECURE_NO_WARNINGS" /D "_CRT_SECURE_NO_DEPRECATE" /D "ONLINE_JUDGE" // C++ cl /TP /MT /EHsc /O2 /W3 /Za /D "_CRT_SECURE_NO_WARNINGS" /D "_CRT_SECURE_NO_DEPRECATE" /D "ONLINE_JUDGE"
이 GCC 4.3이 문제의 내 솔루션입니다 문제?
것 같습니다 : 고정 국기와 정밀도 모두가 "끈끈한"이기 때문에, 우리는 우리가
std::transform
전화 한 번 전에 포맷을 설정하여 올바른 형식의 모든 출력을 얻을 수 있습니다 입력의. 나는 당신이 그 이상을 읽고 싶어한다고 확신합니다. –코드 리뷰에 오신 것을 환영합니다! FAQ를 읽으면 여기에 제시된 코드가 작동하지만 스타일/성능 문제에 도움이 필요하다는 것을 알 수 있습니다. –
@ Jeff의 의견에 덧붙여, 표시된 코드로 제공 한 샘플 입력을 처리하는 것처럼 보이지는 않습니다. –