http://pat.zju.edu.cn/contests/pat-b-practise/1027
分析: 啧~
代码:
<span style="font-size:18px;">//打印沙漏
#include <iostream>
#include <cstdio>
#include <cmath>
#include <string>
#include <string.h>
using namespace std;
void print(int x, char c)
{
int y;
for(int i=x;i>0;i--){
y=x-i;
while(y--) printf(" ");
for(int t=i*2-1; t>0; t--){
printf("%c",c);
}
printf("\n");
}
for(int i=2;i<=x;i++){
y=x-i;
while(y--) printf(" ");
for(int t=i*2-1; t>0; t--){
printf("%c",c);
}
printf("\n");
}
}
int main()
{
freopen("in.txt","r",stdin);
int n,x,r;
char c;
while(~scanf("%d %c",&n,&c)){
if(n==1) {
printf("%c\n%d\n",c,0);
continue;
}
x= sqrt( (double)(n+1)/2.0 );
r= n-2*x*x+1;
// cout<<x<<" "<<r<<endl;
print(x,c);
printf("%d\n",r);
}
return 0;
}
</span>