Gym 100735 - I. Yet another A + B
http://codeforces.com/gym/100735/problem/I;
제목:
세 개의 숫자 A, B, C 를 드 립 니 다. 만약 에 세 개의 수 를 무 작위 로 배열 하여 두 개의 더하기 가 세 번 째 와 같은 상황 을 만족 시 키 면 YES 를 출력 합 니 다. 그렇지 않 으 면 NO.
문제 풀이:
대수 덧셈
AC 코드 (hacb 코치)
#include
#include
#include
#include
#include
using namespace std;
struct Tr{
int num[120];
Tr operator+(Tr a)const
{
Tr tm;
memset(tm.num, 0, sizeof(tm.num));
int in = 0, i;
for (i = 0;i < 120;i++)
{
tm.num[i] = (num[i]+a.num[i]+in)%10;
in = (num[i]+a.num[i]+in)/10;
}
return tm;
}
bool operator==(Tr a)const
{
int i;
for (i = 119;i >= 0;i--)
{
if (num[i] != a.num[i]) return false;
}
return true;
}
}A, B, C;
char a[110], b[110], c[110];
int main() {
int i, j;
while (~scanf("%s%s%s", a, b, c)) {
memset(A.num, 0, sizeof(A.num));
memset(B.num, 0, sizeof(B.num));
memset(C.num, 0, sizeof(C.num));
int la = strlen(a), lb = strlen(b), lc = strlen(c);
for (i = la-1;i >= 0;i--) A.num[la-1-i] = a[i]-'0';
for (i = lb-1;i >= 0;i--) B.num[lb-1-i] = b[i]-'0';
for (i = lc-1;i >= 0;i--) C.num[lc-1-i] = c[i]-'0';
if (A+B == C || A+C == B || B+C==A) puts("YES");
else if (A+A == C || B+B==C || B+B==A || C+C == B || C+C == A || A+A==B) puts("YES");
else puts("NO");
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
HUD P1561ACboy 는 하나의 전략 게임 을 좋아 합 니 다.한 지도 에 N 개의 성 이 있 고 모든 성 에는 일정한 보물 이 있 습 니 다.매번 게임 에서 ACboy 는 M 개의 성 을 정복 하고 그 안의 보물 을 얻 을 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.