L1-002 打印沙漏 (20分)
https://pintia.cn/problem-sets/994805046380707840/problems/994805145370476544
代码:
#include <cstdio> #include <vector> #include <cstring> #include <string> #include <cstdlib> #include <iostream> using namespace std; int main() { vector<int> a; a.push_back(1); int n,s=1,c,p; int i,j,k; char chr; cin>>n; cin>>chr; for(i=3;s+i*2<=n;i+=2) { s+=i*2; a.push_back(i); } c=n-s; p=i-2; for(i=a.size()-1;i>=0;i--) { j=p-a[i]; for(k=0;k<j/2;k++) cout<<" "; for(k=0;k<a[i];k++) cout<<chr; cout<<endl; } for(i=1;i<a.size();i++) { j=p-a[i]; for(k=0;k<j/2;k++) cout<<" "; for(k=0;k<a[i];k++) cout<<chr; cout<<endl; } cout<<c<<endl; return 0; }