2024C++信息素养大赛-算法创意实践挑战
第一题:
#include using namespace std; int a,b; int main(){ scanf("%d%d",&a,&b); printf("%d",a*b); return 0; }
第二题:
#include using namespace std; int a,b,c; int main(){ scanf("%d%d%d",&a,&b,&c); if(a==b&&b==c) printf("Equilateral glass"); else if(a==b || b==c || c==a) printf("Isosceles glass"); else if(a*a + b*b == c*c || a*a + c*c == b*b || b*b + c*c == a*a) printf("Right angle glass"); else printf("None"); return 0; }
第三题:
#include using namespace std; int n; int a[1010][1010]; int main(){ scanf("%d",&n); vector res; for(int i=1;i>flag; if(flag=='M'){ scanf("%d%d%d",&x,&y,&k); a[x][y]=k; } else if(flag=='N') { scanf("%d%d",&x,&y); res.push_back(a[x][y]); } } for(int i : res){ printf("%d\n",i); } return 0; }
第四题:
计算在一个 \( n \times m \) 的矩形中可以放置的所有可能的正方形的数量,除了逐个遍历每个可能的正方形边长的解法外,还可以通过数学公式进行推导和简化。下面是一些其他可能的解法:
解法一:数学公式推导
#include using namespace std; int n,m; int main(){ scanf("%d%d",&n,&m); int min_side=min(n,m); int ans=0; for(int k=1;k>str; for(int i=1;i>ch; if(ch=='F') { cin>>str_1; str=str_1+str; } else if(ch=='B'){ cin>>str_1; str=str+str_1; } else if(ch=='R'){ reverse(str.begin(),str.end()); } } cout
文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。