菜到自闭自闭~~ 欲哭无泪~ 深夜一人伤悲~ 掉了~ rank– 明天要多刷水题,体验AC快感… 真几把自闭
A.题意:不想说了… 一开始把n当成天数了,WWW!!!
W2的代码
代码语言:javascript复制#include<bits/stdc .h>
using namespace std;
int a[105];
int main(){
int t;
cin>>t;
while(t--){
int n,d;
cin>>n>>d;
for(int i=0;i<n;i ){
cin>>a[i];
}
if(n == 1){
cout<<a[0]<<endl;
continue;
}
int num = d;//天数
int k = 1;
while(num>=k){//天数
if(a[k]!=0){//草堆不等于0,那么能移动
a[0] = 1;//得到1
num -= k;//耗费k天
a[k]--;
}
else{
k ;
}
if(k==d-1)
break;
}
cout<<a[0]<<endl;
}
return 0;
}
AC
代码语言:javascript复制#include<iostream>
using namespace std;
int a[105];
int main(){
int t;
cin >> t;
while(t--){
int n,d;
cin>>n>>d;
for(int i = 1; i <= n; i )
cin >> a[i];
for (int i = 2; i <= n; i ){
if (d <= 0) break;
if (a[i]*(i - 1)<= d){
a[1] = a[i];
d -= a[i] * (i - 1);
}
else{
a[1] = d/(i - 1);
break;
}
}
cout<<a[1]<<endl;
}
return 0;
}
B题意:不想说了,A调了半个小时
代码语言:javascript复制#include <bits/stdc .h>
#define maxn 100000 7
using namespace std;
typedef long long ll;
//const int maxn 1e5 7;
ll a[maxn];
int main(){
int t;
cin >> t;
while (t--) {
ll n, x, k = -1;
bool flag = 0;
cin>>n>>x;
for (int i=1;i<=n;i ) {
cin >> a[i];
k = max(a[i], k);
if (a[i] == x) flag = 1;
}
if(flag) {
cout <<"1"<<endl;
continue;
}
ll ans;
if(x<k){
ans = 2;
}
else{
ans = x / k;
if(x % k)
ans ;
}
cout<<ans<<endl;
}
return 0;
}
C 我是菜鸡我是菜鸡 呜呜啊~~题都没读懂,完全是另一个题的 W4,竟然还能过去几个样例 曲解题意代码二款:
代码语言:javascript复制#include<bits/stdc .h>
#define inf 0x3f3f3f3f
using namespace std;
typedef long long ll;
set<char> st;
map<char,int> sd;
ll jie[100];
void init()
{
jie[0]=1;
for(ll i=1;i<=100;i )
jie[i]=i*jie[i-1];
}
ll check(ll num){
ll ans=1;
ll flag = num;
for(ll i =1;i<=(num/2);i ){//循环多少次
ans *= flag;
flag--;
}
return ans;
}
int main(){
init();
string s;
cin>>s;
int l = s.length();
for(int i=0;i<l;i ){
sd[s[i]] ;//记录每个字符出现的次数
st.insert(s[i]);
}
if(st.size() == l){
cout<<1<<endl;
return 0;
}
ll sum = 1;
for(auto i=sd.begin();i!=sd.end();i ){//单个字母
ll res = i->second;
//cout<<res<<" "<<endl;
sum = sum*(check(res)/jie[res/2]);
}
cout<<sum<<endl;
return 0;
}
曲解题意代码一款:
代码语言:javascript复制#include<bits/stdc .h>
#define inf 0x3f3f3f3f
using namespace std;
typedef long long ll;
set<char> st;
map<char,int> sd;
int main(){
string s;
cin>>s;
int l = s.length();
for(int i=0;i<l;i ){
sd[s[i]] ;//记录每个字符出现的次数
st.insert(s[i]);
}
if(st.size() == l){
cout<<1<<endl;
return 0;
}
int maxx =-inf;
for(auto i=sd.begin();i!=sd.end();i ){//单个字母
maxx = max(maxx,i->second);
}
int sum = 1;
for(auto i=sd.begin();i!=sd.end();i ){//全部字母
sum *= i->second;
}
cout<<max(sum,maxx)<<endl;
return 0;
}
没AC~~
更别说后面的都没看了~~