-
个人简介
百因必有果,咖啡因必有咖啡果。微信号:19906394627
QQ号:3818020446
网络连接C++AC代码:
#include <bits/stdc++.h> using namespace std; int n; bool Check(string s) { long long a, b, c, d, port; if (sscanf(s.c_str(), "%lld.%lld.%lld.%lld:%lld", &a, &b, &c, &d, &port) != 5) return false; if (a < 0 || a > 255 || b < 0 || b > 255 || c < 0 || c > 255 || d < 0 || d > 255 || port < 0 || port > 65535) return false; stringstream ss; ss << a << '.' << b << '.' << c << '.' << d << ':' << port; return ss.str() == s; } map<string, int> mp; string op, ad; int main(int argc, char const *argv[]) { cin >> n; for (int i = 1; i <= n; i++) { cin >> op >> ad; if (!Check(ad)) { cout << "ERR\n"; continue; } if (op[0] == 'S') { if (mp[ad]) cout << "FAIL\n"; else mp[ad] = i, cout << "OK\n"; } else { if (!mp.count(ad)) cout << "FAIL\n"; else cout << mp[ad] << '\n'; } } return 0; }
公路C++AC代码
#include <bits/stdc++.h> using namespace std; using LL = long long; const int N = 1e5 + 10; int v[N], a[N]; int n, d; int main() { scanf("%d%d", &n, &d); for (int i = 1; i < n; i++) scanf("%d", &v[i]); int mi = INT_MAX; LL ans = 0, s = 0; for (int i = 1; i < n; i++) { scanf("%d", &a[i]); s += v[i]; mi = min(mi, a[i]); if (s > 0) { ans += (s + d - 1) / d * mi; s -= (s + d - 1) / d * d; } } printf("%lld\n", ans); return 0; }
解密C++AC版
#include<bits/stdc++.h> #define ll long long using namespace std; int main(){ ll n,d,e; ll t; cin>>t; while(t--){ ll p,q; cin>>n>>d>>e; ll m=n-e*d+2; ll o=sqrt(m*m-4*n); p=(m+o)/2; q=m-p; if(p*q==n){ cout<<min(p,q)<<" "<<max(p,q)<<endl; } else{ cout<<"NO"<<endl; } } }
numC++AC代码
#include<bits/stdc++.h> using namespace std; int main(){ //freopen("num.in","r",stdin); //freopen("num.out","w",stdout); string a; cin>>a; while(a[0]!='9'){ for(int i=0;i<a.size();i++){ if(a[i]=='9'){ a[i]='0'; } else{ a[i]=char(a[i]+1); } } } int p=0; for(int i=0;i<a.size();i++){ if(a[i]!='9'&&p==0){ cout<<char(a[i]+1); p=1; } else{ cout<<a[i]; } } }
回文串AC代码
#include<bits/stdc++.h> using namespace std; int s[5],b[5]; int main(){ //freopen("str.in","r",stdin); //freopen("str.out","w",stdout); string a; cin>>a; long long n=a.size(),l; int ans=0; for(int i=0;i<=n/2;i++){ if(a[i]!=a[n-i-1]){ ans++; l=i; if(int(a[i])<int(a[n-i-1])){ a[n-i-1]=a[i]; } else{ a[i]=a[n-i-1]; } } } if(ans==2){ cout<<a; } else if(ans==1){ int s=0; if(a[l]=='a'){ s++; } if(a[n-l-1]=='a'){ s++; } a[l]='a'; a[n-l-1]='a'; if(s!=0&&n%2==1){ a[n/2]='a'; } cout<<a; } else{ for(int i=0;i<n;i++){ if(a[i]!='a'){ a[i]='a'; a[n-i-1]='a'; break; } } cout<<a; } return 0; }
运动会AC代码
#include<iostream> #include<cmath> #include<algorithm> #include<list> #include<cstring> #include<string> #include<vector> #include<queue> #include<deque> #include<stack> #include<map> #include<set> #include<ctime> using namespace std; typedef long long ll; int a[1000010]; int b[1000010]; int maxn[1000010]; int main(){ int n,k; cin>>n>>k; for(int i=1;i<=n;i++){ cin>>a[i]; } sort(a+1,a+1+n); int l=1,r=1,cnt=1; while(l<=r){ if(a[r]-a[l]<=k){ if(r==n){ b[l]=cnt; cnt--,l++; }else{ r++,cnt++; } }else{ cnt--; b[l]=cnt; l++; } } for(int i=n;i>=1;i--){ maxn[i]=max(maxn[i+1],b[i]); } int ans=0; for(int i=1;i<=n;i++){ ans=max(ans,b[i]+maxn[i+b[i]]); } cout<<ans<<"\n"; return 0; }
strAC代码
#include<bits/stdc++.h> using namespace std; int s[5],b[5]; int main(){ //freopen("str.in","r",stdin); //freopen("str.out","w",stdout); string a; cin>>a; long long n=a.size(),l; int ans=0; for(int i=0;i<=n/2;i++){ if(a[i]!=a[n-i-1]){ ans++; l=i; if(int(a[i])<int(a[n-i-1])){ a[n-i-1]=a[i]; } else{ a[i]=a[n-i-1]; } } } if(ans==2){ cout<<a; } else if(ans==1){ int s=0; if(a[l]=='a'){ s++; } if(a[n-l-1]=='a'){ s++; } a[l]='a'; a[n-l-1]='a'; if(s!=0&&n%2==1){ a[n/2]='a'; } cout<<a; } else{ for(int i=0;i<n;i++){ if(a[i]!='a'){ a[i]='a'; a[n-i-1]='a'; break; } } cout<<a; } return 0; }
书的复制AC
#include<iostream> #include<fstream> #include<algorithm> #include<cstring> #include<cmath> using namespace std; long long n,m; long long a[505]; int x[505],y[505]; //记录输出 bool check(int s) { //检查 int num=1,t=0; for(int i=n;i>=1;i--) { //倒序 if(t+a[i]>s) t=0,num++; //换下一人 t+=a[i]; } return num<=m; //人数是否足够 } int find(int low,int high) { //二分 int mid; while(low+1<high){ mid=low+(high-low)/2; if(check(mid)) high=mid; else low=mid; } return high; //注意返回high } int main() { long long low=0,high=0; cin>>n>>m; for(int i=1;i<=n;i++){ cin>>a[i]; high+=a[i]; //上界为所有书的和 low=max(low,a[i]); //下界为最厚书的页数 } int s=find(low,high); //获取最优值 int t=0,num=1; for(int i=1;i<=m;i++) //初始化输出数组 x[i]=y[i]=0; y[1]=n; //第一人结束点为n for(int i=n;i>=1;i--) { //倒序 if(t+a[i]>s) { t=0; x[num]=i+1; //第num人开始编号定为i+1 y[++num]=i; //第num+1人结束编号为i } t+=a[i]; } x[num]=1; //最后一人起始点为1 for(int i=m;i>=1;i--) //倒序 cout<<x[i]<<" "<<y[i]<<endl; return 0; }
#include<bits/stdc++.h> using namespace std; int main(){ long long n,a[110]; cin>>n; for(int i=1;i<=n;i++){ cin>>a[i]; }cout<<a[1]<<" "; for(int i=1;i<=n-1;i++){ if(a[i]>a[i+1]){ for(int j=a[i]-1;j>=a[i+1];j--) cout<<j<<" "; } else{ for(int j=a[i]+1;j<=a[i+1];j++) cout<<j<<" "; } } return 0; }
-
最近活动
- 10.25 CSP-J 模拟赛补题 作业
- 2024.10.25 图灵 CSP-J 考前模拟 ACM/ICPC
- 2024.10.20 普及组 10 月月赛 - 补题场 作业
- 2024.10.13 图灵 CSP-J 赛前第二次训练赛 ACM/ICPC
- 2024.9.30 图灵 CSP-J 普及组 试题 ACM/ICPC
- 24年8月21日 普及组模拟赛DAY1-补题 作业
- 历年CSP初赛真题 作业
- 2024.8.5普及集训第三天(追光班) IOI
- 2024.8.4普及集训第二天(追光班) IOI
- 2024.8.3普及集训第一天(追光班) IOI
- 2024年8月2日 初赛练习(6)【普及组】 OI
- 2024年7月26日 初赛练习(5)【小学组】 OI
- 2024年7月26日 初赛练习(5)【普及组】 OI
-
Stat
-
Rating