UVa 11636 Hello World
#include <cstdio>
#include <iostream>
using namespace std;
int main()
{
int n,kase=0;
while (scanf("%d",&n) == 1 && n>=0)
{
kase++;
int k=0;
while ((1<<k) < n) k++;
printf("Case %d: %d\n",kase,k);
}
return 0;
}
UVa 11039 Building Designing
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <cmath>
using namespace std;
const int MAXN = 500001;
int n,t;
int data[MAXN];
bool cmp(int x,int y)
{
return abs(x) < abs(y);
}
int main()
{
scanf("%d",&t);
while (t--)
{
scanf("%d",&n);
for (int i=1;i<=n;i++) scanf("%d",&data[i]);
sort(data+1,data+n+1,cmp);
int ans = 0;
for (int i=1;i<=n;i++)
{
int temp;
if (i == 1 || (temp/abs(temp)*data[i]/abs(data[i]) == -1))
{
temp = data[i];
ans++;
}
}
printf("%d\n",ans);
}
return 0;
}
LA 3213 Ancient Cipher
#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
using namespace std;
const int MAXN = 101;
int n,t;
char Sa[MAXN],Sb[MAXN];
int TotalA[26],TotalB[26];
int main()
{
while (scanf("%s%s",Sa,Sb) == 2)
{
memset(TotalA,0,sizeof(TotalA));
memset(TotalB,0,sizeof(TotalB));
for (int i=0;i<strlen(Sa);i++) TotalA[Sa[i]-65]++;
for (int i=0;i<strlen(Sb);i++) TotalB[Sb[i]-65]++;
sort(TotalA,TotalA+26);
sort(TotalB,TotalB+26);
bool p = true;
for (int i=0;i<26;i++) if (TotalA[i] != TotalB[i]) p = false;
if (p) printf("YES\n");else printf("NO\n");
}
return 0;
}
LA 3602 DNA Consensus String
#include <iostream>
#include <cstdio>
#include <cmath>
#include <cstring>
using namespace std;
const int MAXM = 61;
const int MAXN = 1011;
int Total[MAXN][26];
int m,n,t;
char DNA_ans[MAXN];
char DNA[MAXM][MAXN];
int main()
{
scanf("%d",&t);
while (t--)
{
int ans = 0;
memset(Total,0,sizeof(Total));
scanf("%d%d",&m,&n);
for (int i=1;i<=m;i++)
{
scanf("%s",DNA[i]);
for (int j=0;j<n;j++) Total[j][DNA[i][j]-65]++;
}
for (int i=0;i<n;i++)
{
int _max = -1000000;
for (int j=0;j<26;j++) if (Total[i][j] > _max)
{
_max = Total[i][j];
DNA_ans[i] = j+65;
}
ans += m-_max;
}
DNA_ans[n] = '\0';
printf("%s\n%d\n",DNA_ans,ans);
}
return 0;
}
UVa 10970 Big Chocolate
#include <iostream>
#include <cstdio>
using namespace std;
int m,n;
int main()
{
while (scanf("%d%d",&m,&n) == 2) printf("%d\n",m-1+m*(n-1));
return 0;
}
UVa 10340 All in All
#include <cstdio>
#include <cstring>
#include <iostream>
using namespace std;
const int MAXLEN = 20000001;
char s[MAXLEN],t[MAXLEN];
int main()
{
while (scanf("%s%s",s,t) == 2)
{
int point_s=0,point_t=0;
if (strlen(s) > strlen(t))
{
printf("No\n");
continue;
}
int flag = 0;
for (int i=0;i<strlen(t);i++)
{
if (flag == strlen(s)) break;
else if (s[flag] == t[i]) flag++;
}
if (flag == strlen(s)) printf("Yes\n");else printf("No\n");
}
return 0;
}