HDU 1708 Fibonacci String(문자열 에뮬레이션)
사고방식: 임의의 문자열은 최초의 0개와 첫 개로 구성되어 있으며, 포함된 0개와 첫 번째 문자열의 개수만 기록하면 된다.
AC 코드:
#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <algorithm>
#include <queue>
#include <stack>
#include <map>
#include <cstring>
#include <climits>
#include <cmath>
#include <cctype>
typedef long long ll;
using namespace std;
struct node
{
int x;
int y;
}a[60];
char str1[40];
char str2[40];
int num[40];
int num1[40];
int main()
{
int t,k,i;
scanf("%d",&t);
while(t--)
{
memset(num,0,sizeof(num));
memset(num1,0,sizeof(num1));
scanf("%s%s",str1,str2);
scanf("%d",&k);
a[0].x = 1;
a[0].y = 0;
a[1].x = 0;
a[1].y = 1;
for(i=2; i<=k; i++)
{
a[i].x = a[i-1].x + a[i-2].x;
a[i].y = a[i-1].y + a[i-2].y;
}
int n = strlen(str1);
int m = strlen(str2);
for(i=0; i<n; i++)
{
num[str1[i]-'a']++;
}
for(i=0; i<26; i++)
{
num[i] *= a[k].x;
}
for(i=0; i<m; i++)
{
num1[str2[i]-'a']++;
}
for(i=0; i<26; i++)
{
num1[i] *= a[k].y;
}
for(i=0; i<26; i++)
{
num[i] += num1[i];
}
for(i=0; i<26; i++)
{
printf("%c:%d
",'a'+i,num[i]);
}
printf("
");
}
return 0;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.