欢乐赛#36题解(老六版)
2024-12-24 21:52:35
发布于:广东
本篇题解为老六版,其中运用了大量
老六写法非常规写法!
T1
这道题你可以用abs(),但是嘛……
由于题目数据范围都是负数,所以
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
int main()
{
int n;
char ch;
cin>>ch>>n;
cout<<n;
return 0;
}
没错,直接将“-”覆盖!
T2
这题没法整,老实写吧
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n;
cin>>n;
if(n%6 == 0 && n%4 == 0) cout<<"YES";
else cout<<"NO";
return 0;
}
T3
嘿嘿,老六写法再次上线!
由于我们知道题目可以边输入变输出,所以……
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
int main()
{
int n,x;
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>x;
cout<<x+i<<" ";
}
return 0;
}
没错,数组都不用开!
T4
这题也是老实写,需要注意的是不是输出S1,是输出S2
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
int main()
{
int n;
string s1,s2;
cin>>n>>s1>>s2;
for(int i=1;i<=n;i+=2)
{
swap(s1[i],s2[i]);
}
cout<<s2;
return 0;
}
T5
是个人都会写
这题不用开数组,开个ans边输入边统计答案就行,条件就是题目给的
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
int maxn = 1005;
int n,x;
long long ans;
int main()
{
cin>>n;
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n;j++)
{
cin>>x;
if(i==1 || j==1 || i==n || j==n) ans += x;
}
}
cout<<ans;
return 0;
}
T6
直接使用__gcd()!
使用3次就行,(前俩的最大公约数和后俩的最大公约数)的最大公约数就是答案
由于下划线有点麻烦,我们用define加工一下~
#include <bits/stdc++.h>
#define gcd __gcd //此处为@复仇者_帅童ด้้(不加团队 提出修改方案
using namespace std;
typedef long long ll;
int maxn = 1005;
int t,x,y,a,b;
int main()
{
cin>>t;
while(t--)
{
cin>>x>>y>>a>>b;
cout<<gcd(gcd(x,y),gcd(a,b))<<endl;
}
return 0;
}
好了,以上就是欢乐赛#36的老六版题解,希望大家多多点赞!!!
全部评论 12
顶!!!逆天老六版
2024-12-25 来自 江苏
1第一题使用的方法是仅限于负号与数字有空格隔开时的吧
1周前 来自 四川
0不是,char是读入单个字符,也就是说
- 92
和-92
在他的代码里效果相同1周前 来自 广东
0啊??
1周前 来自 四川
0这颠覆我认知了
1周前 来自 四川
0
顶
2024-12-25 来自 广东
0顶
2024-12-25 来自 广东
0顶
2024-12-25 来自 广东
0顶
2024-12-25 来自 广东
0大家都顶一下
2024-12-24 来自 广东
0顶
2024-12-24 来自 广东
0你说得对,但是
#define gcd __gcd
2024-12-24 来自 广东
0安排
2024-12-24 来自 广东
0
顶
2024-12-24 来自 广东
0顶
2024-12-24 来自 广东
0顶
2024-12-24 来自 广东
0
有帮助,赞一个