第十一章 模拟 4 AcWing 1515. U 形 Hello World

左手的ㄟ右手 2024-03-31 12:30 131阅读 0赞

第十一章 模拟 4 AcWing 1515. U 形 Hello World

原题链接

AcWing 1515. U 形 Hello World

算法标签

模拟

思路

计算符合题意得n1, n2, n3, 模拟填入矩阵输出

如何计算符合题意得n1, n2, n3

在这里插入图片描述

代码

  1. #pragma GCC optimize(2)
  2. #pragma GCC optimize(3)
  3. #include<bits/stdc++.h>
  4. #define int long long
  5. #define xx first
  6. #define yy second
  7. #define ump unordered_map
  8. #define us unordered_set
  9. #define pq priority_queue
  10. #define rep(i, a, b) for(int i=a;i<b;++i)
  11. #define Rep(i, a, b) for(int i=a;i>=b;--i)
  12. using namespace std;
  13. typedef pair<int, int> PII;
  14. const int N=85, inf=0x3f3f3f3f3f3f3f3f, mod=1e9+7;
  15. const double Exp=1e-8;
  16. //int t, n, m, cnt, ans;
  17. char g[N][N], c[N];
  18. string s;
  19. int n, n1, n2, k;
  20. inline int rd(){
  21. int s=0,w=1;
  22. char ch=getchar();
  23. while(ch<'0'||ch>'9'){if(ch=='-')w=-1;ch=getchar();}
  24. while(ch>='0'&&ch<='9') s=s*10+ch-'0',ch=getchar();
  25. return s*w;
  26. }
  27. void put(int x) {
  28. if(x<0) putchar('-'),x=-x;
  29. if(x>=10) put(x/10);
  30. putchar(x%10^48);
  31. }
  32. signed main(){
  33. ios::sync_with_stdio(false);
  34. cin.tie(0);
  35. cout.tie(0);
  36. scanf("%s", c);
  37. s=c;
  38. n=s.size();
  39. int n1=(n+2)/3;
  40. int n2=n+2-n1*2;
  41. k=0;
  42. rep(i, 0, n1){
  43. g[i][0]=s[k++];
  44. }
  45. rep(i, 1, n2){
  46. g[n1-1][i]=s[k++];
  47. }
  48. Rep(i, n1-2, 0){
  49. g[i][n2-1]=s[k++];
  50. }
  51. rep(i, 0, n1){
  52. rep(j, 0, n2){
  53. if(g[i][j]){
  54. printf("%c", g[i][j]);
  55. }else{
  56. printf(" ");
  57. }
  58. }
  59. puts(" ");
  60. }
  61. return 0;
  62. }

参考文献

AcWing 1515. U 形 Hello World(PAT甲级辅导课)y总视频讲解

原创不易
转载请标明出处
如果对你有所帮助 别忘啦点赞支持哈
在这里插入图片描述

发表评论

表情:
评论列表 (有 0 条评论,131人围观)

还没有评论,来说两句吧...

相关阅读