U287342 A.NANA与字符串 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)
U287344 B.NANA学跳舞 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)
U287345 C.NANA去上课 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)
#include
using namespace std;
#define int long long
const int N=1e6+6;
signed main(){
int n;cin>>n;
char ch='B';int ds=0;//记得一定要初始化
int sum=0;
for(int i=1;i<=n;i++){
char tempp='A';//记得一定要初始化
int tempd=0;
if(i!=1){
tempp=ch;//记录前一个的输入
tempd=ds;
}
cin>>ch;cin>>ds;
if(tempp==ch)sum+=abs(tempd-ds);
else sum+=abs(tempd+ds);
}
sum+=ds;
cout<
U287346 D.NANA在夜市 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)
#include
using namespace std;
#define int long long
char mp[1010][1010];
bool f[1010][1010];
int dx[4] = {0, 0, 1, -1};
int dy[4] = {1, -1, 0, 0};//右 左 下 上
//向左旋转90度
int n; int m;
void dfs(int x, int y) {
f[x][y] = true;//标记一个地方是否被访问过
for (int i = 0; i < 4; i++) {
int ax = x + dx[i];
int ay = y + dy[i];
if (ax >= 1 && ax <= n && ay >= 1 && ay <= m && !f[ax][ay] &&
((i == 0 && mp[ax][ay] == 'L') || (i == 1 && mp[ax][ay] == 'R') ||
(i == 2 && mp[ax][ay] == 'U') || (i == 3 && mp[ax][ay] == 'D'))) {
dfs(ax, ay);//好好理解一下
}
}
}
void solve() {
// int n, m;
cin >> n >> m;
for (int i = 1; i <= n; i++) {
for(int j = 1;j <= m;j++)
cin >> mp[i][j];
}
int ans = 0;
dfs(n,m);//从终点出发
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= m; j++) {
if (f[i][j]) {//访问到了
ans++;//数量++
}
}
}
cout << ans;
}
signed main() {ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
int T=1;
//cin >> T;
while (T--)solve();
return 0;
}
U287347 E.NANA与最后的旅程 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)
U287349 F.NANA的排名 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)
#include
using namespace std;
const int N=1e5+6;
int l[N], r[N], v[N], cnt[610];
//l表示最低分 r表示最高分 v表示五科总分
void solve() {
int n;
cin >> n;
for (int i = 1; i <= n; i++) {
cin >> l[i] >> r[i];
v[i] = 0;
for (int j = 0; j < 5; j++) {
int x;
cin >> x;
v[i] += x;
}
cnt[v[i] + l[i]]++;//低分的情况下各个分数的人数
}
for (int i = 600; i >= 1; i--) {
cnt[i] += cnt[i + 1];
}//cnt[i]表示了分数大于等于i的人数个数
for (int i = 1; i <= n; i++) {
cout << cnt[v[i] + r[i]+1] + 1 << '\n';
}//分数大于等于v[i]+r[i]+1的人数有cnt[v[i]+r[i]+1]个
}
signed main() {
int T;T = 1; //cin >> T;
while (T--)solve();
return 0;
}
U287350 G.NANA看天鹅舞会 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)
//贪心
#include
using namespace std;
#define int long long
signed main()
{
int n, m, a, b, c;
cin >> n >> m >> a >> b >> c;
if(n > m) swap(n, m);
int res = n * a;
m -= n;
res += (m / 2) * b;
if(m & 1) res -= c;
cout << res << '\n';
}
//无论如何代价都是两只 所以那种思路是错的
U287351 H.NANA去上课 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)
U287352 I.NANA做胡辣汤 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)
#include
using namespace std;
#define int long long
const int N=1e6+6;
int a[N];
int b[N];
signed main(){
int sum=0;
int n,k;cin>>n>>k;
for(int i=1;i<=n;i++)cin>>a[i];//代表每个食材的价值
for(int i=1;i<=n;i++)cin>>b[i];//代表每个食材是否被处理好
for(int i=1;i<=n;i++){
if(b[i])sum+=a[i];//选上了就加上
}
// int mx=-0x3f3f;
// for(int i=1;i+k-1<=n;i++){
// if(b[i])continue;
// int temp=0;
// for(int j=i;j<=i+k-1;j++){
// if(!b[j])temp+=a[j];
// }
// mx=max(temp,mx);
// }
// cout<
U287353 J.NANA与她的朋友们 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)
#include
using namespace std;
#define int long long
map mp;
signed main(){
int n, k, x; scanf("%lld %lld",&n, &k);
vector vec;
for(int i = 0; i < n; i ++){
scanf("%lld", &x);
if(!mp.count(x)) vec.push_back(x);//每一出现过 就放进去
mp[x] ++;//出现的次数++
}
sort(vec.begin(), vec.end());
int hh = 0, tt = vec.size() - 1;//左右指针
while(hh < tt){
int l = mp[vec[hh]];//最小的数的出现次数
int r = mp[vec[tt]];//最大的数的出现次数
if(l < r){//最小的数的出现次数<最大的数的出现次数
int num = vec[hh + 1] - vec[hh];//差值
int cnt = l;//需要操作的个数
if(k >= cnt * num)//可操作的次数>=需要操作的个数*差值
{
k -= cnt * num;//减去操作的次数
mp[vec[hh + 1]] += mp[vec[hh]];//加到下一个数上去
hh ++; //左指针++
}
else//可操作的个数<需要操作的个数*差值
{
int t = k / cnt;//计算最多能减少多少差值
// k -= t * cnt;//k>=差值*需要操作的次数
int res = vec[tt] - vec[hh] - t;
cout << res << '\n';
return 0;
}
}
else{//最小的数的出现次数>=最大的出现次数
int num = vec[tt] - vec[tt - 1];//找一下差值
int cnt = r;//个数
if(k >= cnt * num)
{
k -= cnt * num;
mp[vec[tt - 1]] += mp[vec[tt]];
tt --;
}
else
{//就算是0也可以 是0的化 k就-0
int t = k / cnt;
// k -= t * cnt;
int res = vec[tt] - t - vec[hh];
cout << res << '\n';
return 0;//直接return
}
}
// if(vec[tt]-vec[hh]==0){cout<<0<<'\n';break;}
}
cout<<0<<'\n';
}
U287354 K.NANA在郑州 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)
//打表
#include
using namespace std;
int cal(char x){
if(x=='a'||x=='d'||x=='g'||x=='j'||x=='m'||x=='p'||x=='t'||x=='w')return 1;
if(x=='b'||x=='e'||x=='h'||x=='k'||x=='n'||x=='q'||x=='u'||x=='x')return 2;
if(x=='c'||x=='f'||x=='i'||x=='l'||x=='o'||x=='r'||x=='v'||x=='y')return 3;
if(x=='s'||x=='z')return 4;
}
int main(){
int n;cin>>n;
int sum=0;
for(int i=1;i<=n;i++){
string s;cin>>s;
for(int j=0;j
U287355 L.NANA与梦中的洛阳 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)