- 伍衍 的博客
DAY7(8)
- @ 2024-8-12 19:39:41
考试错误:无。
思路:
本题与余数有关,最大可以分到的糖果数是,如果都在一个倍数阶级(),输出,否则输出。
代码:
#include <bits/stdc++.h>
#define int long long
using namespace std;
signed main(){
freopen("candy.in","r",stdin);
freopen("candy.out","w",stdout);
int n,l,r;
cin >> n >> l >> r;
if(r-l+1>=n-l%n+1) cout << n-1;
else cout << r%n;
}
考试错误:无。
思路:
大模拟,多注意特判就行了。
特判数据合集:
输入数据1
5
Server ...:
Server .0.0.0:0
Server 0.0.00.0:0
Server 0.0.0.0:00
Server 1.2.3.4:0
输出数据1
ERR
ERR
ERR
ERR
OK
代码:
#include <bits/stdc++.h>
#define int long long
using namespace std;
unordered_map<string,int> mp;
int idx=1;
bool check(string s){
vector<int> A;
vector<char> B;
s=" "+s;
for(int i=1;i<s.size();i++){
int x=i;
int z=0,cnt=0;
while(i<s.size()&&isdigit(s[i])){
z=z*10+s[i++]-'0';
cnt++;
if(z>65535) return 0;
}
if(s[x]=='0'&&(x==1||s[x-1]=='.'||s[x-1]==':')&&(z||cnt>1)) return 0;
if(cnt) A.push_back(z);
if(i>=s.size()) break;
B.push_back(s[i]);
}
return bool(A.size()==5&&B.size()==4&&B[0]=='.'&&B[1]=='.'&&B[2]=='.'&&B[3]==':'&&A[0]<=255&&A[1]<=255&&A[2]<=255&&A[3]<=255&&A[4]<=65535);
}
signed main(){
freopen("net.in","r",stdin);
freopen("net.out","w",stdout);
int n;
cin >> n;
for(int i=1;i<=n;i++){
string a,b;
cin >> a >> b;
if(check(b)){
if(mp[b]&&a=="Server"||mp[b]==0&&a=="Client"){
cout << "FAIL\n";
}else{
if(a=="Server"){
cout << "OK\n";
mp[b]=i;
}else{
cout << mp[b] << "\n";
}
}
}else{
cout << "ERR\n";
}
}
}