hdoj 1249 삼각형 구분 평면(전달+규칙 총화)

삼각형
Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 9296    Accepted Submission(s): 6112
Problem Description
N 개의 삼각형 으로 평면 을 최대 몇 개의 구역 으로 나 눌 수 있 습 니까?
Input
입력 한 데이터 의 첫 줄 은 정수 T(1<=T<=10000)로 테스트 데이터 의 수량 을 표시 합 니 다.그 다음 에 T 조 테스트 데이터 입 니 다.각 조 의 테스트 데 이 터 는 하나의 정수 N(1<=N<=10000)만 포함 합 니 다.
Output
각 그룹의 테스트 데이터 에 대해 서 는 제목 에서 요구 하 는 결 과 를 출력 하 십시오.
Sample Input
2 1 2
Sample Output
2 8
문제 풀이 방향:
구분 구역 을 가장 많이 하려 면 n 번 째 삼각형 은 n-1 번 삼각형 과 교차 해 야 한다.
그러면 n 번 째 삼각형 의 한 변 은 2(n-1)-1 개의 선분 과 양쪽 의 두 개의 반 선분 으로 나 뉘 어 2(n-1)개의 선분 으로 나 뉜 다.
 그러면 세 변 이 6(n-1)이 고 f(n-1)보다 6(n-1)개 구역 이 많아 집 니 다.
f(n)-f(n-1)=6*(n-1)
f(n)=f(n)=3*n*(n-1)+2 로 미 루 기;
ac 코드:
#include 
#define ll long long int
using namespace std;
int main()
{
    ll c,n;
    scanf("%lld",&c);
    while(c--)
    {
        scanf("%lld",&n);
        printf("%lld
",3*n*(n-1)+2); } return 0; }

좋은 웹페이지 즐겨찾기