admin管理员组文章数量:1028170
【今日三题】笨小猴(模拟) / 主持人调度(排序) / 分割等和子集(01背包)
笨小猴(模拟)
- 笨小猴
#include <iostream>
#include <string>
#include <cmath>
using namespace std;
string s;
int arr[26];
int maxn = 0, minn = 100;
bool check(int n)
{
if (n < 2) return false;
for (int i = 2; i <= sqrt(n); i++)
{
if (n % i == 0) return false;
}
return true;
}
int main()
{
cin >> s;
for (auto ch : s) arr[ch - 'a']++;
for (int i = 0; i < 26; i++)
{
if (arr[i])
{
maxn = max(maxn, arr[i]);
minn = min(minn, arr[i]);
}
}
if (check(maxn - minn))
{
cout << "Lucky Word" << endl;
cout << maxn - minn << endl;
}
else {
cout << "No Answer" << endl;
cout << 0 << endl;
}
return 0;
}
主持人调度(排序)
- 主持人调度
class Solution {
public:
bool hostschedule(vector<vector<int> >& schedule) {
sort(schedule.begin(), schedule.end());
for (int i = 0; i < schedule.size() - 1; i++)
{
if (schedule[i][1] > schedule[i + 1][0])
return false;
}
return true;
}
};
分割等和子集(01背包)
- 分割等和子集
#include <iostream>
#include <vector>
using namespace std;
int n, sum;
int arr[501];
int main()
{
cin >> n;
for (int i = 1; i <= n; i++)
{
cin >> arr[i];
sum += arr[i];
}
if (sum % 2 == 0)
{
sum /= 2;
vector<bool> dp(sum + 1);
for (int i = 0; i <= n; i++) dp[0] = true;
for (int i = 1; i <= n; i++)
for (int j = sum; j >= arr[i]; j--)
dp[j] = dp[j] || dp[j - arr[i]];
if (dp[sum]) cout << "true" << endl;
}
else cout << "false" << endl;
return 0;
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。 原始发表:2025-04-28,如有侵权请联系 cloudcommunity@tencent 删除coutintreturnsum排序【今日三题】笨小猴(模拟) / 主持人调度(排序) / 分割等和子集(01背包)
笨小猴(模拟)
- 笨小猴
#include <iostream>
#include <string>
#include <cmath>
using namespace std;
string s;
int arr[26];
int maxn = 0, minn = 100;
bool check(int n)
{
if (n < 2) return false;
for (int i = 2; i <= sqrt(n); i++)
{
if (n % i == 0) return false;
}
return true;
}
int main()
{
cin >> s;
for (auto ch : s) arr[ch - 'a']++;
for (int i = 0; i < 26; i++)
{
if (arr[i])
{
maxn = max(maxn, arr[i]);
minn = min(minn, arr[i]);
}
}
if (check(maxn - minn))
{
cout << "Lucky Word" << endl;
cout << maxn - minn << endl;
}
else {
cout << "No Answer" << endl;
cout << 0 << endl;
}
return 0;
}
主持人调度(排序)
- 主持人调度
class Solution {
public:
bool hostschedule(vector<vector<int> >& schedule) {
sort(schedule.begin(), schedule.end());
for (int i = 0; i < schedule.size() - 1; i++)
{
if (schedule[i][1] > schedule[i + 1][0])
return false;
}
return true;
}
};
分割等和子集(01背包)
- 分割等和子集
#include <iostream>
#include <vector>
using namespace std;
int n, sum;
int arr[501];
int main()
{
cin >> n;
for (int i = 1; i <= n; i++)
{
cin >> arr[i];
sum += arr[i];
}
if (sum % 2 == 0)
{
sum /= 2;
vector<bool> dp(sum + 1);
for (int i = 0; i <= n; i++) dp[0] = true;
for (int i = 1; i <= n; i++)
for (int j = sum; j >= arr[i]; j--)
dp[j] = dp[j] || dp[j - arr[i]];
if (dp[sum]) cout << "true" << endl;
}
else cout << "false" << endl;
return 0;
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。 原始发表:2025-04-28,如有侵权请联系 cloudcommunity@tencent 删除coutintreturnsum排序本文标签: 今日三题笨小猴(模拟)主持人调度(排序)分割等和子集(01背包)
版权声明:本文标题:【今日三题】笨小猴(模拟)主持人调度(排序)分割等和子集(01背包) 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://it.en369.cn/jiaocheng/1747488262a2168664.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论