UVA 1339(알파벳 매 핑)

memcmp(const void*buf 1,const void*buf 2,unsigned int count)두 문자열 을 비교 할 수 있 습 니 다.
http://baike.baidu.com/link?url=moP6BHDBs7PfCbVKaICYTP9biwBKdYjBfy2Raz45kwLx1SfvaccbGrFqmuwEOLDcc--3F9i81RiKA16NT74Ki_
그 중에서 count 는 메모리 크기 입 니 다.배열 크기 가 아니 라 size of()로 나 와 야 합 니 다.
#include <iostream>
#include <string>
#include <cstring>
#include <cstdlib>
#include <cstdio>
#include <cmath>
#include <algorithm>
#include <stack>
#include <cctype>
using namespace std;

#define mem(a,b) memset(a,b,sizeof(a))
#define pf printf
#define sf scanf
#define spf sprintf
#define debug printf("!
") #define INF 10000 #define MAXN 5010 #define MAX(a,b) a>b?a:b #define blank pf("
") #define LL long long char a[110],b[110]; int ac[26],bc[26]; int main() { while(~sf("%s%s",a,b)) { int i,j; mem(ac,0); mem(bc,0); int al = strlen(a); int bl = strlen(b); if(al!=bl) { puts("NO"); continue; } for(i=0;i<al;i++) { ac[a[i]-'A']++; bc[b[i]-'A']++; } sort(ac,ac+26); sort(bc,bc+26); if(!memcmp(ac,bc,sizeof(ac))) puts("YES"); else puts("NO"); mem(a,0); mem(b,0); } }

좋은 웹페이지 즐겨찾기