This commit is contained in:
HuangHai
2025-08-30 18:35:01 +08:00
commit 1f397eca87
6258 changed files with 1487241 additions and 0 deletions

View File

@@ -0,0 +1,36 @@
#include <bits/stdc++.h>
using namespace std;
const int N=10010;
int a[N];
int main(){
int T;
cin>>T;
while(T--){
int n;
cin>>n;
int sum=0;
for(int i=1;i<=n;i++){
cin>>a[i];
sum+=a[i];
}
int sum2=0;
int flag=0;
for(int i=1;i<=n;i++){
sum2+=a[i];
if(sum2*2==sum){
cout<<"Yes"<<endl;
flag=1;
break;
}
}
if(flag==0) cout<<"No"<<endl;
}
return 0;
}

View File

@@ -0,0 +1,38 @@
#include <bits/stdc++.h>
using namespace std;
//<2F>ж<EFBFBD>һ<EFBFBD><D2BB><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD>Dz<EFBFBD><C7B2>ǻ<EFBFBD><C7BB>Ĵ<EFBFBD>
bool isHuiWen(string s){
if(s.size()<2) return false;
for(int i=0;i<s.size()/2;i++)
if(s[i]!=s[s.size()-1-i]) return false;
return true;
}
int main(){
int T;
cin>>T;
while(T--){
string s;
cin>>s;
int flag=0;
//ö<>ٵ<EFBFBD>һ<EFBFBD><D2BB><EFBFBD>Ӵ<EFBFBD><D3B4>Ľ<EFBFBD>βλ<CEB2><CEBB>
for(int i=0;i<s.size();i++){
string s1,s2;
for(int j=0;j<=i;j++) s1+=s[j];//ƴ<>ӵ<EFBFBD>һ<EFBFBD><D2BB><EFBFBD>Ӵ<EFBFBD>
for(int j=i+1;j<s.size();j++) s2+=s[j];//ƴ<>ӵڶ<D3B5><DAB6><EFBFBD><EFBFBD>Ӵ<EFBFBD>
//cout<<"s1="<<s1<<",s2="<<s2<<endl;
if(isHuiWen(s1) && isHuiWen(s2)){
cout<<"Yes"<<endl;
flag=1;
break;
}
}
if(flag==0) cout<<"No"<<endl;
}
return 0;
}

View File

@@ -0,0 +1,77 @@
#include <bits/stdc++.h>
using namespace std;
const int N = 110;
//ע<>⣺n,mһ<6D><D2BB>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȫ<EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊcheck() <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><DDA3><EFBFBD><EFBFBD><EFBFBD>
int n, m;
int a[N][N];
/*
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
3
1 4
0110
5 5
00000
01100
01100
00001
01100
5 5
00000
01100
01110
00001
01100
*/
bool check() {
//0<><30><EFBFBD><EFBFBD> 1<><31><EFBFBD><EFBFBD>
if (n < 4 || m < 4 ) //<2F><><EFBFBD><EFBFBD>4<EFBFBD><34>4<EFBFBD>У<EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD>ж<EFBFBD><D0B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԣ<EFBFBD><D4A3>ⲽ<EFBFBD><E2B2BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>©
return false;
int s1 = 0, s4 = 0;
for (int i = 1; i <= 4; i++) {
s1 += a[1][i];//<2F><>һ<EFBFBD>еĺ<D0B5>
s4 += a[4][i];//<2F><><EFBFBD><EFBFBD><EFBFBD>еĺ<D0B5>
}
if (s1 || s4)//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD>л<EFBFBD><D0BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>в<EFBFBD>ȫ<EFBFBD>ǰ<EFBFBD>ɫ
return false;
//<2F><>2<EFBFBD>У<EFBFBD><D0A3><EFBFBD>3<EFBFBD><33>
if (a[2][1] || a[2][4])//(2,1),(2,4)<29><><EFBFBD><EFBFBD><EFBFBD>Ǻ<EFBFBD>ɫ<EFBFBD><C9AB>
//<2F>ж<EFBFBD><D0B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,ע<>⣺<EFBFBD><E2A3BA><EFBFBD><EFBFBD>Ҫд<D2AA><D0B4><EFBFBD><EFBFBD><EFBFBD>Եģ<D4B5><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ľ<EFBFBD><C4BE>ǿ<EFBFBD><C7BF>Ե<EFBFBD>
return false;
if (!a[2][2] || !a[2][3])
return false;
if (a[3][1] || a[3][4])
return false;
if (!a[3][2] || !a[3][3])
return false;
return true;
}
int main() {
int T;
cin >> T;
while (T--) {
cin >> n >> m;
for (int i = 1; i <= n; i++) {
string s;//<2F><>Ϊ01<30>м<EFBFBD><D0BC>޿ո<DEBF><D5B8><EFBFBD>ʹ<EFBFBD><CAB9>string<6E><67><EFBFBD>ж<EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD>ٷֲ<D9B7><D6B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>a[N][N]<5D><>
cin >> s;
for (int j = 1; j <= m; j++)
a[i][j] = s[j - 1] - '0';//Ҫע<D2AA><D7A2>string<6E>±<EFBFBD><C2B1>Ǵ<EFBFBD>0<EFBFBD><30>ʼ<EFBFBD>ģ<EFBFBD><C4A3><EFBFBD><EFBFBD><EFBFBD>j<EFBFBD><6A>Ҫ<EFBFBD><D2AA>1
}
if (check())
cout << "Yes" << endl;
else
cout << "No" << endl;
}
return 0;
}

View File

@@ -0,0 +1,29 @@
#include <bits/stdc++.h>
using namespace std;
int n;
const int N = 10010;
int a[N];
/*
5
3 4 5 2 1
3
4 5
3 4
1 3
*/
int main() {
cin >> n;
for (int i = 1; i <= n; i++)
cin >> a[i];
int T;
cin >> T;
while (T--) {
int l, r;
cin >> l >> r;
sort(a + l, a + r + 1);
}
for (int i = 1; i <= n; i++)
cout << a[i] << " ";
return 0;
}

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,67 @@
#include <bits/stdc++.h>
using namespace std;
const int N = 256;
int b[N]; // 桶
int a[17], al;
string c[N];
int cl;
int get(char x) {
if (x >= '0' && x <= '9')
return x - '0';
return x - 'A' + 10;
}
int toDec(char a, char b) { return get(a) * 16 + get(b); }
int main() {
int n;
cin >> n;
for (int i = 1; i <= n; i++) {
string s;
cin >> s;
c[++cl] = s; // 原始数组保存下来
// 字符串长度 s.size()
for (int j = 0; j < s.size(); j += 2) {
int idx = toDec(s[j], s[j + 1]); // 对应的十进制数值
b[idx]++; // 维护桶
}
}
// 猴子选大王共16次
for (int i = 1; i <= 16; i++) {
int mx = -1, mp = 0;
for (int j = 0; j < N; j++) {
if (b[j] > mx) {
mx = b[j];
mp = j;
}
}
a[++al] = mp; // 本轮次找到的大王位置是mp,记录下来到a数组中去
b[mp] = -1; // 避免重复选,把大王出列
}
// 遍历原始数组
for (int i = 1; i <= n; i++) {
for (int j = 0; j < c[i].size(); j += 2) {
int old = toDec(c[i][j], c[i][j + 1]);
// 需要与b数组中的每一个数值进行对比,看看与哪个数值的绝对值差最小,也就是与谁最接近`
int mi = INT_MAX,
mp = 0; // mi最小的差绝对值,mp就是最小差绝对值所在的位置号
for (int k = 1; k <= 16; k++) {
int x = b[k];
int d = abs(x - old);
if (d < mi) {
mp = k;
mi = d;
}
}
if (mp >= 10)
cout << mp - 10 + 'A';
else
cout << mp;
}
cout << endl;
}
return 0;
}