기본 콘텐츠로 건너뛰기

[BOJ 10809]

EOF 대신 '\n'을 사용하면 시간초과가 난다.

#include <cstdio>
#include <cstring>
using namespace std;
int cnt[26];
int main(void){
char ch;
int idx =0;
memset(cnt,-1,sizeof(int)*26);
int temp = 0;
while ((ch = getchar()) != EOF){
int idx = ch - 'a';
if (cnt[idx] == -1)
cnt[idx] = temp;
temp++;
}
for (int i=0;i<26;i++){
printf("%d ",cnt[i]);
}
}
view raw [BOJ 10809] hosted with ❤ by GitHub

댓글

이 블로그의 인기 게시물

Tree traversal의 3가지

1. 전위 순회 (Preorder Traversal) Root -> Left Tree -> Right Tree   ( 루트를 제일 처음에 방문 ) 2. 중위 순회 (Inorder Traversal) Left Tree -> Root -> Right Tree   ( 루트를 중간에 방문 ) 3. 후위 순회 (Postorder Traversal) Left Tree -> Right Tree -> Root   ( 루트를 제일 마지막에 방문 ) <소스코드> 출처 : http://www.geeksforgeeks.org/tree-traversals-inorder-preorder-and-postorder /// C program for different tree traversals #include <stdio.h> #include <stdlib.h> /* A binary tree node has data, pointer to left child    and a pointer to right child */ struct node {      int data;      struct node* left;      struct node* right; }; /* Helper function that allocates a new node with the    given data and NULL left and right pointers. */ struct node* newNode(int data) {      struct node* node = (struct node*)                 ...