不允许学生创建新讨论了,后面大家可以在这里讨论相关内容。会定期清理。

问问题可以联系老师,或者把详细的题号和错误的代码发送邮件到 daijianshan33@qq.com

324 条评论

  • @ 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

        https://oj.since2018.top/user/2 啥时候发硬币

        • @ 2024-11-13 11:46:48

          @

          33WIKI线性优化策略里为什么没有二维差分

        • @ 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:58:02
          • @ 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 22:02:16
              #include <bits/stdc++.h>
              #define int long long
              #define ll long long
              using namespace std;
              ll a,b;
              signed main()
              {
                  ios::sync_with_stdio(false);
                  cin.tie(0);
                  int a=0,b=0;
                  for (int i=1;i<=1000;i++) 
                  {
                      ll n=i;
                      ll aa=0,bb=0;
                      while (n != 0) 
                      {
                          if (n % 2) aa++; 
                          else bb++;
                          n /= 2;
                      }
                      if (aa > bb) a++; 
                      else b++;
                  }
                  cout << a << " " << b;
              }
              
            • @ 2024-11-13 13:09:20
              #include<iostream>
              using namespace std;
              int main(){
              	int ac=0,bc=0,a1,a0,a,c=0;
              	for(int i=1;i<=1000;i++){
              		a1=0;
              		a0=0; 
              		c=i;
              		while(c!=0){
              			a=c%2;
              			c=c/2;
              			if(a==1){
              				a1++;
              			}
              			else{
              				a0++;
              			}
              		}
              		if(a1>a0){
              			ac++;
              		}
              		else{
              			bc++;
              		}
              	}
              	cout<<ac<<" "<<bc; 
              }
              //这不简简单单吗?
              //zswdlqy
              
          • @ 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 21:44:32

                    发硬币!!!@

                    • @ 2024-11-12 18:04:41

                      @ user[33DAI]

                    • @ 2024-11-12 19:47:43

                      @ 发硬币

                    • @ 2024-11-14 21:00:13

                      @ 快点发硬币

                  • @ 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;
                    }
                    
                    • 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 21:29:40

                          本题题解

                          #include<iostream>
                          using namespace std;
                          int main(){
                          	int a,b;
                          	cin>>a>>b;
                          	if(a>b){
                          		cout<<"1"<<endl<<a;
                          	}
                          	else if(a<b){
                          		cout<<"2"<<endl<<b;
                          	}
                          	else{
                          		cout<<"3"<<endl<<a;
                          	}
                          	return 0;
                          	//zswdlqy 
                          }
                          
                        • @ 2024-11-10 14:00:35

                          太水了

                        • @ 2024-11-10 15:25:43

                          undefined@ @ @ @ @ @ @ @ @ @ @ @ @ @

                        • @ 2024-11-10 15:26:04

                          @ yes

                      • @ 2024-11-8 20:48:38

                        第四道题怎么优化

                        • @ 2024-11-8 20:17:21

                          新题预告 MC0005 牛吃人公路

                          题目背景

                          MC++在上数学真题班的时候因为讨厌牛吃草问题所以想出来的

                          题目描述

                          一天,MC++在坐车去找无个名个氏玩的时候,走到了一条牛吃人公路,公路全长kk米。

                          这里有dd头发狂的牛,据说是从Farmer John 那里逃出来的(可能是因为FJ老是有问题,住不下去了),第ii头牛埋伏在bib_i点,当车经过bi+1sb_i+1*s点时,牛就会冲出来追击车辆,第ii头牛会以cic_i的速度追击车辆。

                          MC++知道以自己的车技绝对过不去,于是请了mm名司机,第ii名司机在被牛追击时,速度会增加aia_i

                          MC++从这里的交警得知,这里的牛在发现自己的距离离车大于nn米时就会放弃追击。

                          已知车的初始速度为1m/1m/秒,且保证不会有两头牛同时追击车辆。

                          也就是说,当车在经过bjb_j点时(j>ij>i),若第ii头牛正在追击,则第bjb_j点的牛会因为不想打架而放弃追逐 (吸吸务者为俊杰(识时务者为俊杰))

                          现在MC++想知道,m个司机能否通过牛吃人公路呢?

                          (只要被抓住,就必死无疑,MC++可不想死在这里)

                          注意!车辆的起始点为0

                          输入格式

                          输入共4行

                          第一行输入5个整数kk,nn,mm,ss,dd,含义见上;

                          第二行输入mm个正整数,第ii个整数表示aia_i;

                          第三行输入dd个正整数,第ii个整数表示bib_i;

                          第四行输入dd个正整数,第ii个整数表示cic_i;

                          提示

                          ai+sa_i+s可能等于cjc_j;

                          通过条件:车在kk点且没有任何一头牛追上来

                          如果当前点+当前车速>k,认为通过

                          输出格式

                          一共输出m+1m+1

                          ii(11~mm)行:如果第ii个司机能成功通过牛吃人公路,输出YesYes,否则输出NoNo

                          m+1m+1行:输出两个数,第一个数sumsum表示有多少名司机能通过公路,第二个数表示这mm名司机的通过率,保留整数且向下取整,后面需加上%。

                          样例

                          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%的数据,1n,m,s<1050d<10510k<1031≤n,m,s<10^5,0≤d<10^5,10≤k<10^3

                          保证bi+s<bj(i<j)b_i+s<b_j(i<j)

                          细分化:

                          对于20%的数据,ai=0a_i=0,测试点4满足特殊数据A;

                          对于另外10%的数据,ai=1a_i=1,测试点6满足特殊数据A;

                          对于另外10%的数据,牛会放弃追逐,测试点7满足特殊数据A;

                          对于接下来的30%的数据,没有特殊样例;

                          对于接下来的10%的数据,当车辆速度大于cic_i+aia_i时,牛会放弃追逐;

                          对于最后的20%的数据,没有特殊样例。

                          也就是说,这道题有15~50分可以骗。

                          特殊数据A:d=0d=0

                        • @ 2024-11-8 20:01:19

                          @ 快阿克

                          • @ 2024-11-8 19:59:40

                            @ 时隔两年半你又来打周赛炸鱼

                            • @ 2024-11-8 19:35:30

                              31场第一个阿克

                            • @ 2024-11-8 18:42:06

                              • @ 2024-11-8 18:26:55

                                @ 我觉得还是原来的赛制好

                              • @ 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-7 20:03:43

                                  或者这个

                                  #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<node,vector<node>,greater<node>> q;
                                  void dijkstra(int s)
                                  {
                                  	q.push({s,0});
                                  	dis[s]=0;
                                  	while(!q.empty())
                                  	{
                                  		int u=q.top().x;
                                  		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,dis[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-7 20:54:48

                                  怎么优化

                                  #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<node> q;
                                  void dijkstra(int s)
                                  {
                                  	q.push({s,0});
                                  	dis[s]=0;
                                  	while(!q.empty())
                                  	{
                                  		int u=q.top().x;
                                  		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,dis[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-6 19:10:18

                                @挖土机这么火吗?好卡

                                • @ 2024-11-5 22:59:18

                                  @明日解放

                                  • @ 2024-11-6 18:24:34

                                    我活了

                                  • @ 2024-11-6 19:11:25

                                    @ 呃呃呃呃呃呃呃呃呃呃呃呃呃

                                  • @ 2024-11-30 19:27:40

                                    @ 要不给他再封一次?

                                • @ 2024-11-5 19:37:11

                                  祝大家明天考试取得好成绩

                                  • 我在学校机房里刷题 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-30 16:43:46

                                                找了一些常用的:

                                                hypot(x,y),返回 x2+y2\sqrt{x^2+y^2},求两点距离很方便

                                                fabs(x)返回 x|x|xx 是浮点数)

                                                fmod(x,y)返回 xmodyx \bmod yx,yx,y 均为浮点数)

                                                accumulate(bg,ed,val)[bg,ed)[bg,ed) 这个区间加上 valval。(时间复杂度 o(n)\text{o}(n) 跟手写循环效果一样)。

                                              • @ 2024-10-30 16:44:46

                                                编译不过用万能头,还不行调成c++14还不行就是c++14以上的东西

                                              • @ 2024-10-30 18:23:43

                                                你没上学吗

                                              • @ 2024-11-1 20:18:37

                                                @ 有fmod还写什么逆元啊

                                              • @ 2024-11-2 16:13:20

                                                @ 你又暴露了你根本没学好乘法逆元

                                            • @ 2024-10-29 22:56:10

                                              什么时候加一言

                                            • @ 2024-10-28 20:22:38

                                              A0150

                                              #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-28 21:05:02

                                                首先string下标为零,i<=a.size()-1,剩下自查。

                                                #include<iostream>
                                                #include<string.h>
                                                using namespace std;
                                                int main(){
                                                	string ch;
                                                	int c=0;
                                                	getline(cin,ch);
                                                	for(int i=0;i<ch.size();i++){
                                                		if(ch[i]>='0'&&ch[i]<='9'){
                                                			c++;
                                                		}
                                                	}
                                                	cout<<c;
                                                }
                                                
                                                
                                              • @ 2024-10-28 21:18:47
                                                #include <bits/stdc++.h>
                                                using namespace std;
                                                string a;
                                                int c=0;
                                                int main()
                                                {
                                                    cin >> a;
                                                    for(int i=0;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;
                                                }
                                                

                                                应该能过

                                              • @ 2024-10-28 21:48:47

                                                c++里面的cin读取字符串读到空格cin就认为这个字符串读完了,所以他表面上读进去的是 Peking University is set up at 1898. \texttt{Peking University is set up at 1898. } ,但实际上只读进了 Peking \texttt{Peking } ,你可以用 getlinegetcharwhile(cin>>s) 实现

                                              • @ 2024-10-28 21:51:50

                                                还有就是,字符串默认下标是从 00 开始, siz1siz-1 结束,所以当 i=sizi=siz 你访问了 aia_i 会 RE

                                              • @ 2024-10-28 21:58:18

                                                判断数字不需要这么麻烦,因为字符 090 \sim 9 的对应整形是连续的,所以只需要判断 '0'<=a[i] && a[i]<='9',判断是否是字母大小写也同理

                                              • @ 2024-10-28 22:04:49

                                                但为什么没有RE啊

                                            • @ 2024-10-27 23:39:32
                                            • @ 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;
                                              }