UVALive5870-Smooth Visualization-模拟水题

时间:2023-03-08 17:34:37

很水的模拟题,拿数组搞就好了。

注意边界的地方不要算重。

#include <cstdio>
#include <cstring>
#include <algorithm> using namespace std; int N,T,M;
int save[];
char str[]; int main()
{
scanf("%d",&T);
for(int i=;i<T;i++)
{
scanf("%s",str);
int len = strlen(str);
int cnt = ;
save[cnt++]=str[]-''; for(int i=;i<len;i++)
{
if(abs(str[i]-str[i-]) <= )
{
//save[cnt++] = str[i-1]-'0';
save[cnt++] = str[i]-'';
}
else
{
if(str[i] > str[i-])
for(int j=str[i-]+;j<=str[i];j++)
save[cnt++] = j-'';
else
{
for(int j=str[i-]-;j>=str[i];j--)
save[cnt++] = j-'';
}
}
} int ma = ;
for(int i=;i<cnt;i++) ma = max(ma,save[i]);
for(int i=ma;i>;i--)
{
for(int j=;j<cnt;j++)
if(save[j] >= i) printf("+");
else printf("*");
printf("\n");
}
}
}