- 问答
【FAQ】问答&讨论贴
- 2024-8-29 16:06:46 @
不允许学生创建新讨论了,后面大家可以在这里讨论相关内容。会定期清理。
问问题可以联系老师,或者把详细的题号和错误的代码发送邮件到 daijianshan33@qq.com
324 条评论
-
zby_dd 多看一眼就会爆炸 LV 9 (17820/18320) @ 2024-11-14 20:12:40
🤡🤡🤡🤡🤡🤡🤡 -
2024-11-14 16:36:35@
A0293 确定进制
怎么做都做不对不会做 ๑乛◡乛๑卡在了奇怪的地方 -
2024-11-13 16:33:29@
#include<bits/stdc++.h> #define int long long using namespace std; const int mod=1000000000+7; int n,a[10000005],f[10000005]; int pow_plus(int a,int b,int c) { int ans=1; a=a%c; while(b>0) { if(b&1) { ans=(ans*a)%c; } a=(a*a)%c; b>>=1; } return ans; } int dfs(int i) { if(i==0) { return f[0]; } return (pow_plus(10,(int)log10(a[i])+1,mod)+1)%mod*dfs(i-1)%mod +(1ll<<i)*a[i]%mod; } signed main() { ios::sync_with_stdio(0); cin.tie(0); cin>>n>>f[0]; f[0]%=mod; for(int i=1;i<=n;i++) { cin>>a[i]; } cout<<dfs(n)<<'\n'; return 0; }
-
2024-11-13 13:11:48@
-
2024-11-13 9:51:07@
1
-
2024-11-12 21:56:37@
CSP-S第一题
#include <bits/stdc++.h> #define int long long #define ll long long using namespace std; ll n,ans=-1; ll a[100005],vis[100005]; signed main() { ios::sync_with_stdio(false); cin.tie(0); cin >> n; for (int i=1;i<=n;i++) { cin >> a[i]; vis[a[i]]++; } for (int i=1;i<=100000;i++) { ans=max(ans,vis[i]); } cout << ans; }
-
2024-11-12 21:55:59@
-
2024-11-12 21:55:17@
#include <bits/stdc++.h> using namespace std; int a,b,c,w=0,cnt1=0,cnt0=0,cnta,cntb; char d[1000][10]; int main() { for(int i=1,c=1;i<=1000;i++,c++) { i=c; while(i!=0) { w++; d[c][w]=i%2; i=i/2; } } for(int i=0;i<=1000;i++) { for(int c=0;c<=10;c++) { if(d[i][c]=='1') { cnt1++; } if(d[i][c]=='0') { cnt0++; } if(c==10) { if(cnt1>cnt0) { cnta++; } if(cnt1<cnt0) { cntb++; } } } } cout << cnta << " " << cntb; } //写了半天RTE了!!!!!!!! [A0292](https://oj.since2018.top/p/A0292?tid=67248a37d72fd23f26bcc354)
-
2024-11-12 21:04:58@
357数(输出) 时间限制:1s 内存限制:128M 题目描述 我们定义只由357三种数码组成,相邻数码不同,且包含所有三种数码的正整数为357数。例如35757是一个357数;3557不是一个357数因为两个相同的数码相邻;35353不是一个357数因为只包含两种数码。
给出正整数n,从小到大输出所有n位的357数。 输入格式 一个正整数n。 输出格式 输出若干行,每行一个从小到大输出所有n位的357数。
输入样例1
3
输出样例1
357 375 537 573 735 753
数据范围 3 <= n <= 15
图的遍历(简单版) 时间限制:2s 内存限制:524M
题目描述 给出 N个点,M条边的有向图,对于每个点 v,求A(v)表示从点v出发,能到达的编号最大的点。 输入格式 第1行 2个整数N,M,表示点数和边数。
接下来M行,每行2个整数 Ui,Vi,表示边 (Ui,Vi)。点用 1,2,…,N编号。 输出格式 一行N个整数 A(1),A(2),...,A(n)。 输入样例1
4 3 1 2 2 4 4 3
输出样例1
4 4 3 4
说明提示 对于100%的数据,1≤N,M≤103。
-
2024-11-12 20:43:24@
原来这道题是黑的发紫紫的发黑的题啊
-
2024-11-12 19:50:15@
阿克了29个人! 33DAI硬币暴击!
-
2024-11-11 22:45:23@
666
-
2024-11-11 19:40:50@
@ wangpiexiang 洛谷无法回你消息
-
2024-11-10 14:18:30@
P1194WA了求助!
代码如下:
#include<iostream> #include<cstring> #include<queue> #include<cstdio> #include<cmath> #include<algorithm> #include<map> #include<vector> #include<stack> #include<sstream> #include<set> #include<time.h> #include<stdlib.h> #include<unordered_map> #define ll long long #define ull unsigned long long #define eps 1e-10 #define INF 1e9 #define delta 0.996 #define T 3000 #define pi acos(-1.0) #define ld long double using namespace std; const ll mod1=1e9+7; const ll mod2=998244353; const int maxn = 2e5 + 10; const int maxm = 1e6 + 10; const ll inf=1e18L; typedef pair<int,int>Pii; typedef pair<int,ll>Pil; using namespace std; int a,b,father[5005],k; struct edge{ int u,v,cost; }e[5005]; int find(int x){ if(father[x]==x){ return x; } return father[x]=find(father[x]); } int same(int x,int y){ if(find(x)==find(y)){ return 1; } return 0; } int cmp(edge e1,edge e2){ return e1.cost<e2.cost; } int kruskal(){ sort(e+1,e+1+k,cmp); int res=0,cnt=0; for(int i=1;i<=k;i++){ if(same(e[i].u,e[i].v)==0){ cnt++; res+=e[i].cost; father[find(e[i].u)]=find(e[i].v); } } return res; } int main(){ ios::sync_with_stdio(false); cin.tie(0); cin>>a>>b; for(int i=1;i<=b;i++){ father[i]=i; } for(int i=1;i<=b;i++){ for(int j=1;j<=b;j++){ int x; cin>>x; if(i<j&&x!=0&&x<a){ k++,e[k].u=i,e[k].v=j,e[k].cost=x; } } } for(int i=1;i<=b;i++){ k++,e[k].u=0,e[k].v=i,e[k].cost=a; } cout<<kruskal(); return 0; }
-
2024-11-9 17:09:51@
vscode好用插件
-
2024-11-9 11:47:32@
@33dai,周赛并列第一也是800硬币吗
-
2024-11-8 21:28:33@
ZSA0001 ZS0001
题目背景
ZS在操场上看到小a和小b在比赛(测试题无难度)
题目描述
已知他们在相同的时间下分别跑了a米,b米(a<=10000,b<=10000),看谁跑得快?
输入格式
输入仅一行 输入a,b
输出格式
输出共两行 第一行输出 1(小a快)或 2(小b快)3 (一样快) 第二行输出 快的人跑的米数(一样快则输出小a跑的米数) 样例
输入样例 1
4 5
输出样例 1
2 5
输入样例 2
100 100
输出样例 2
3 100
本题无特殊性质
-
2024-11-8 20:48:38@
第四道题怎么优化
-
2024-11-8 20:17:21@
新题预告 MC0005 牛吃人公路
题目背景
MC++在上数学真题班的时候因为讨厌牛吃草问题所以想出来的
题目描述
一天,MC++在坐车去找无个名个氏玩的时候,走到了一条牛吃人公路,公路全长米。
这里有头发狂的牛,
据说是从Farmer John 那里逃出来的(可能是因为FJ老是有问题,住不下去了),第头牛埋伏在点,当车经过点时,牛就会冲出来追击车辆,第头牛会以的速度追击车辆。MC++知道以自己的车技绝对过不去,于是请了名司机,第名司机在被牛追击时,速度会增加。
MC++从这里的交警得知,这里的牛在发现自己的距离离车大于米时就会放弃追击。
已知车的初始速度为,且保证不会有两头牛同时追击车辆。
也就是说,当车在经过点时(),若第头牛正在追击,则第点的牛会因为不想打架而放弃追逐
(吸吸务者为俊杰(识时务者为俊杰))。现在MC++想知道,m个司机能否通过牛吃人公路呢?
(只要被抓住,就必死无疑,MC++可不想死在这里)
注意!车辆的起始点为0
输入格式
输入共4行
第一行输入5个整数,,,,,含义见上;
第二行输入个正整数,第个整数表示;
第三行输入个正整数,第个整数表示;
第四行输入个正整数,第个整数表示;
提示
可能等于;
通过条件:车在点且没有任何一头牛追上来
如果当前点+当前车速>k,认为通过
输出格式
一共输出行
第(~)行:如果第个司机能成功通过牛吃人公路,输出,否则输出。
第行:输出两个数,第一个数表示有多少名司机能通过公路,第二个数表示这名司机的通过率,保留整数且向下取整,后面需加上%。
样例
10 2 1 1 0 0
Yes 1 100%
样例解释1
MC++遇到了假的牛吃人公路。
10 5 2 2 2 2 0 1 4 2 2
Yes No 1 50%
样例解释2
对于第一名司机,他是可以通过公路的
对于第二个司机,他会在5点被抓
共有1名司机可通过,通过率50%
数据限制
对于100%的数据,
保证
细分化:
对于20%的数据,,测试点4满足特殊数据A;
对于另外10%的数据,,测试点6满足特殊数据A;
对于另外10%的数据,牛会放弃追逐,测试点7满足特殊数据A;
对于接下来的30%的数据,没有特殊样例;
对于接下来的10%的数据,当车辆速度大于+时,牛会放弃追逐;
对于最后的20%的数据,没有特殊样例。
也就是说,这道题有15~50分可以骗。
特殊数据A:
-
2024-11-8 19:35:30@
31场第一个阿克
-
2024-11-8 18:42:06@
-
2024-11-8 16:58:42@
因为周赛命名变了,所以我猜33DIA会在将来又出一道输入场次说类型的题目
-
2024-11-8 13:20:58@
题目传送门https://oj.since2018.top/p/A0376
#include<iostream> using namespace std; int n,x,y; int main(){ cin>>n>>x>>y; int a=x*n; int b=y*n; if(a>b){ cout<<a-b; } else{ cout<<b-a; } return 0; } //zswdlqy
为什么只得30分?
-
2024-11-7 19:54:13@
求助,怎么改可以不CE
#include<bits/stdc++.h> using namespace std; int dis[100005]; struct node { int x; int w; }; bool operator <(const node &a,const node &b) { return dis[a.x]<dis[b.x]; } int n,m,s; vector<node> e[100005]; priority_queue<int,vector<int>,greater<node>> q; void dijkstra(int s) { q.push(s); dis[s]=0; while(!q.empty()) { int u=q.top(); q.pop(); for(int i=0;i<e[u].size();i++) { node v=e[u][i]; if(dis[v.x]>dis[u]+v.w) { dis[v.x]=dis[u]+v.w; q.push(v.x); } } } } int main() { ios::sync_with_stdio(0); cin.tie(0); memset(dis,0x3f3f3f3f3f3f,sizeof(dis)); cin>>n>>m>>s; for(int i=1;i<=m;i++) { int u,v,w; cin>>u>>v>>w; e[u].push_back({v,w}); } dijkstra(s); for(int i=1;i<=n;i++) { if(dis[i]==0x3f3f3f3f) { cout<<(1<<31)-1<<' '; } else { cout<<dis[i]<<' '; } } return 0; }
-
2024-11-6 20:18:12@
求助
下图是一个程序
#include <bits/stdc++.h> using namespace std; int n,p[20]; void dfs(int m,int c){ for(int i=m;i<=c;i++){ cout<<p[i]<<" "; } cout<<endl; if(c<n){ dfs(m,c+1,d+1); } else{ return; } } int main(){ cin>>n; for(int i=1;i<=n;i++){ p[i]=i; } for(int i=1;i<=n;i++){ dfs(i,1,0); } return 0; }
谁能帮我把输出时多出的空行去掉?QAQ
QQL
求求啦!!!
-
2024-11-5 19:37:11@
祝大家明天考试取得好成绩
-
2024-11-5 14:47:00@
我在学校机房里刷题 ahh!!!
-
2024-11-5 11:38:25@
为什么语法周赛改成挖土机周赛了
-
2024-11-4 19:11:09@
我飞了
-
2024-11-3 18:10:21@
//考试必备 #include<bits/stdc++.h> using namespace std; int main(){ freopen(".in","r",stdin); freopen(".out","w",stdout); return 0; }
-
2024-11-2 15:37:20@
6
-
2024-11-2 13:33:24@
https://oj.since2018.top/p/TEST1001 真是一道普普通通的题
-
2024-11-1 22:57:51@
论 CSP_J时 T2 我旁边 有一个 char a[10000][10000] 的 (char 1亿) 我还认识
-
2024-11-1 19:37:43@
我发现了什么??? 此
-
2024-10-30 20:02:24@
#include<bits/stdc++.h> using namespace std; int main(){ string a; cin>>a; if(a[0]=='A'){ if(a[1]=='p'){ cout<<"January"; } else{ cout<<"February"; } } if(a[0]=='D'){ cout<<"March"; } if(a[0]=='F'){ cout<<"April"; } if(a[0]=='J'){ if(a[1]=='a'){ cout<<"May"; } else if(a[2]=='l'){ cout<<"June"; } else{ cout<<"July"; } } if(a[0]=='M'){ if(a[2]=='r'){ cout<<"August"; } else{ cout<<"September"; } } if(a[0]=='N'){ cout<<"October"; } if(a[0]=='O'){ cout<<"November"; } if(a[0]=='S'){ cout<<"December"; } }
为啥RE? https://oj.since2018.top/p/A0588
-
2024-10-30 16:35:13@
-
2024-10-29 22:56:10@
什么时候加一言
-
2024-10-28 20:22:38@
#include <bits/stdc++.h> using namespace std; string a; int c=0; int main() { cin >> a; for(int i=1;i<=a.size();i++) { if(a[i]=='0'||a[i]=='1'||a[i]=='2'||a[i]=='3'||a[i]=='4'||a[i]=='5'||a[i]=='6'||a[i]=='7'||a[i]=='8'||a[i]=='9') { c++; } } cout << c; } //为啥输出0!!!
-
2024-10-27 23:39:32@
-
2024-10-27 10:38:51@
-
2024-10-27 0:21:55@
洛谷测分120
(OS:我是不是完了)
100 0 20 0
-
2024-10-26 21:50:55@
set不是可以去重吗,为何不用?
-
2024-10-26 21:50:16@
#include<bits/stdc++.h> using namespace std; int main(){ set<string> se; int n; cin>>n; for(int i=0;i<n;i++){ string s; cin>>s; se.insert(s); } cout<<52-(int)se.size(); return 0; }