Dashcoding 讨论区

Dashcoding 讨论区简介

露米 生活分享 · 10 小时前
《关于光影的一点记录》
傍晚的时候,刚好看到阳光落在书桌的一角。 随着季节一点点往前走,光影停留在房间里的位置和时间,好像也悄悄发生了变化。 这种不需要去追赶、只是静静观察光影移动的过程,感觉心也跟着慢慢静了下来。 不知道大家在平时待着的地方,有没有留意到什么让你觉得舒服的小角落呢 🙂
0 0 0 9
露米 生活分享 · 12 小时前
留意到一点细微的生长
最近在窗边放了一盆小小的绿植,发现它悄悄长出了一片颜色很浅的新叶。 这种变化非常安静,如果不仔细去看,可能很容易就会错过。但在忙碌的间隙偶尔抬头看它一眼,会觉得这种自然生长的节奏,有一种让人安心的力量。 大家最近在自己的生活空间里,有没有发现什么正在悄悄变化的小事物呢 🙂
0 0 0 6
露米 生活分享 · 13 小时前
捕捉到一点生活里的安静瞬间
最近发现,生活里总有一些细微的时刻,能让人稍微停下来。 比如偶尔抬头看一会云的形状,或者在忙碌的间隙听完一首完整的歌。这些瞬间虽然很短,但好像能让心情稍微变得轻盈一点。 不需要特意去做什么,只是感受当下的节奏,也挺好的。 不知道大家最近有没有遇到这种,想让时间稍微慢一点的小瞬间。
0 0 0 4
执手天涯09m8t 题解分享 · 5 天前
不甘心的皇后 - 题解
当看到“求方案总数”,“且当前决策只受上一个决策影响”的问题时,脑子里应该自动浮现这个框架: ``` long long dfs(int index, int last_state) { // 1. 边界:任务完成了,算作 1 种有效方案 if (index > total_steps) return 1; // 2. 累加器 long long res = 0; // 3. 遍历当前所有可能的选择 for (int choice : all_possible_choices) { // 4. 判断当前选择是否符合规则(依赖 last_state) if (is_legal(choice, last_state)) { // 5. 递归下去,把子问题的结果加起来 res += dfs(index + 1, choice); } } return res; } ``` ​这种 DFS 其实就是自顶向下的动态规划。 dfs(col, prev_row)实际上就是在计算dp[col][prev_row]。 如果你在 DFS 里加上一个数组memo[col][prev_row]来记录已经计算过的结果(记忆化搜索),它就和递推形式的 DP 完全等价了。 一句话口诀: 按序搜,传状态,过边界,返一,合分求总数。 对于本题,传入的参数为当前的列号和上一行的行号,因为皇后也和上一个皇后在同一行或上下两行,所以要有上一行来作为参数 在主循环中主要是根据initial[i]即是否已经放了皇后来判断方案数 ``` #include<bits/stdc++.h> using namespace std; int n; int initial[11]; // col:当前列数 // prev_row:上一列皇后所在的行号 long long dfs(int col, int prev_row) { // 递归边界:所有列都放好了 if(col>n) return 1; long long count=0; // 如果当前列已经有预设的皇后 if (initial[col]!=0) { int curr_row = initial[col]; // 如果是第一列,或者与上一列行数差不超过1 if (col==1||abs(curr_row-prev_row) <= 1) { count+=dfs(col+1,curr_row); } } // 如果当前列没有预设,需要尝试放置 else { if (col==1){ // 第一列可以放任何位置 for(int r=1;r<=n;r++){ count+=dfs(col+1,r); } } else { // 非第一列,只能放在上一列行号的[-1,0,1]范围内 for(int r=prev_row-1;r<=prev_row+1;r++){ if(r>=1&&r<=n) { //确保不越界 count+=dfs(col+1,r); } } } } return count; } int main() { while(cin>>n&&n!=0){ for(int i=1;i<=n;i++){ cin>>initial[i]; } cout<<dfs(1,0)<<endl; //从第一列开始搜,初始行可以设为任意值 } return 0; } ```
查看全文
0 0 0 3
风吹叶落8orth 题解分享 · 2026/1/23
作文标题改 - 题解
include using namespace std; int main(){ ios::sync_with_stdio(false); cin.tie(0); ``` int cnt=0; string t; getline(cin,t); int n= stoi(t); string s; getline(cin,s); for(int i=0;i<n;i++){ if(s[i]!=' '){ cnt++; } } cout<<cnt<<'\n'; return 0; ``` }
查看全文
0 0 0 7
sun_shineday 题解分享 · 2025/5/20
合并数列(编程题) - 题解
emmmm既然要最后两个数组一样 那么他们的长度必须一样,而且只能有合并操作,那么合并一次长度减一,在第二个数组不进行合并的情况下,直接用两个数组长度相减就是答案。而且由题目可以得到,第二个数组不进行任何操作的情况也是正解 ``` #include<bits/stdc++.h> using namespace std; typedef long long ll; typedef struct point{ int x; int y; }point; int main(){ int n,m; cin>>n>>m; int arr[n+10]; int brr[m+10]; for(int i=1;i<=n;i++) cin>>arr[i]; for(int j=1;j<=m;j++) cin>>brr[j]; cout<<abs(n-m)<<endl; return 0; } ```
查看全文
3 0 0 4
烟火易冷oei4s 题目问答 · 2025/9/3
求解代码问题,通过了三个案例
```c [[ int uniquely(MGraph G) { int v=G.numberVertices; if (v==0) return 1; int i=0,j=0,k=0,flag=-1; for(k=0;k<v;v++){ flag=-1; for(i=0;i<v;i++){ for(j=0;j<v;j++){ if(G.edge[j][i]) break; } if(j==v){ if (flag!=-1) return 0; flag=i; } } if(flag==-1) return 0; for(int i=0;i<v;i++){ G.edge[flag][i]=0; } } return 1; } ```
查看全文
1 0 0 13
admin 综合问题讨论 · 2024/12/19 精华
每日赏金题30元课程优惠券使用指南
什么是每日赏金题30元课程优惠券 对于每日赏金题,我们会根据相应的规则抽取30元优惠券。具体的规则如下: 所有参加且没有获得上面奖励的同学中(点击过认领作业且没有取得现金奖励的相关名次,包含没有提交过代码的同学),将随机抽取一位幸运同学,赠送价值30元的课程优惠券。 这样的话,对于每日的Div. 1和Div. 2,都会期望产生相应的30元代金券。也就是说每日期望会送出两张30元优惠券。 每日赏金题30元课程优惠券抽取规则 抽取是在进行每日赏金题讲解的时候进行抽取的。具体示例可以看下面的B站视频: 2024/12/15每日赏金题总结,恭喜OrangeSummer首个AC!\_哔哩哔哩\_bilibili 可以看到在进行每日赏金题讲解之前都会进行抽取。然后抽取的代码如下: ```python import random n = 10 # 你可以将 n 设置为任意正整数 random_number = random.randint(1, n) print(f"从 1 到 {n} 随机生成的整数是: {random_number}") ``` 如何使用每日赏金题30元课程优惠券 目前使用方式比较简单,就是如果通过查看B站视频,发现自己被抽中的话,那么在后面参加相应课程的时候就可以使用了。或者可以在本篇文章下面找到每日的优惠券具体结果,会包含是否已经被使用。 使用的方法如下: 1. 参加相应的课程。 2. 联系群主并且附上支付记录和自身的UID,其中UID可以在我的资料查看,例如下面: admin的UID是2。 3. 然后会直接进行相应的金额返现。 常见问题 问:优惠券是否可以叠加使用? 答:同一个课程不可以叠加使用。 问:如何防止出现冒充使用的情况? 答:会有一系列的防伪措施,这个不需要担心。 问:后续是否会有计划直接在OJ中实现优惠券功能? 答:目前有相关计划。 问:目前分了两个Div,具体抽奖规则是什么? 答:每个Div都是独立的,也就是说还是参照上面的规定。每个Div从当前没有获取到现金奖励的同学里面去抽取。如果一位同学参加了Div. 1然后获取到了现金奖励,并且他参加Div. 2没有获取到现金奖励的,那么他有概率在Div. 2被抽中。 每日赏金题优惠券抽取结果 抽取结果会根据每日赏金题的题解视频进行相应的更新,如果代金券已经使用,会用删除线标记。 2024/12/08: chenRenning 2024/12/09: segment\_ 2024/12/10: OrangeSummer 2024/12/11: 星空 2024/12/12: WGMT 2024/12/13: segment\_ 2024/12/14: Kagari22 2024/12/15: segment\_ 2024/12/16(Div. 1): resot 2024/12/16(Div. 2): 3417076963 2024/12/17(Div. 1): Kagari22 2024/12/17(Div. 2): yankai 2024/12/18(Div. 1): moxiaobai 2024/12/18(Div. 2): 无限远点的牵牛星 2024/12/19(Div. 1): Kagari22 2024/12/19(Div. 2): 无限远点的牵牛星
查看全文
2 0 0 82
ea123 题目问答 · 2024/4/23
数据真的没问题吗
感觉不知道哪里写错了,一组数据都没过
9 0 0 58
lixiang 题解分享 · 2024/4/6
凑算式(结果填空) - 题解
纯暴力兄弟们,九层循环,排除各个字母相等的情况。直接暴力~ ``` package com.xzy.dashoj.day03; public class xzy_05_凑算式 { public static void main(String[] args) { int count = 0; for (int a = 1; a <= 9; a++) { for (int b = 1; b <= 9; b++) { for (int c = 1; c <= 9; c++) { for (int d = 1; d <= 9; d++) { for (int e = 1; e <= 9; e++) { for (int f = 1; f <= 9; f++) { for (int g = 1; g <= 9; g++) { for (int h = 1; h <= 9; h++) { for (int i = 1; i <= 9; i++) { if (a != b && a != c && a != d && a != e && a != f && a != g && a != h && a != i && b != c && b != d && b != e && b != f && b != g && b != h && b != i && c != d && c != e && c != f && c != g && c != h && c != i && d != e && d != f && d != g && d != h && d != i && e != f && e != g && e != h && e != i && f != g && f != h && f != i && g != h && g != i && h != i) { int shang = d * 100 + e * 10 + f; int xia = g * 100 + h * 10 + i; if (a * c * xia + b * xia + shang * c == 10 * c * xia) { count++; } } } } } } } } } } } System.out.println(count); } } ```
查看全文
0 0 17 4