codeforces round#740
A. Simply Strange Sort
数据规模不大,可以直接模拟
#include
using namespace std;
#define N 6010
int a[1010];
int n;
typedef long long ll;const ll mol=1e9+7;
int check(){for( int i=1;i<=n;i++){if(a[i]!=i) return 0;}return 1;
}
int main(){int t;cin>>t;while(t--){cin>>n;for( int i=1;i<=n;i++){cin>>a[i];}int ans=0;while(check()==0){ans++;if(ans%2==1)for( int i=1;i<=n-2;i+=2){if(a[i+1]<a[i]) swap(a[i+1],a[i]);}else for( int i=2;i<=n-1;i+=2){if(a[i+1]<a[i]) swap(a[i+1],a[i]);}}cout<<ans<<endl;}
}
B. Charmed by the Game
分成两种情况,一种是A在奇数局获胜会使答案变化,B在偶数局获胜会使答案发生变化
另一种是A在偶数局获胜会使答案发生变化,B在奇数局获胜会使答案发生变化。
枚举A在奇数局获胜的场数即可。
#include
using namespace std;
#define N 6010
int ans[200100];
int n;
typedef long long ll;const ll mol=1e9+7;
int main(){int t;cin>>t;while(t--){int a,b;cin>>a>>b;for( int i=0;i<=a+b;i++){ans[i]=0;}int odd=sum/2+sum%2;int cnt=0;for( int i=0;i<=a;i++){int res=0;int temp;temp=odd-i;if(temp<0) continue;res+=i;if(b-temp<0) continue;res+=b-temp;if(ans[res]==0) cnt++;ans[res]=1;}for( int i=0;i<=b;i++){int res=0;int temp;temp=odd-i;if(temp<0) continue;res+=i;if(a-temp<0) continue;res+=a-temp;if(ans[res]==0)cnt++;ans[res]=1;}cout<<cnt<<endl;for( int i=0;i<=a+b;i++){if(ans[i]==1) printf("%d ",i);}cout<<endl;}
}
C. Deep Down Below
#include
#include
using namespace std;
#define N 6010
int ans[100100];
int n;
int begin[100100];
int end[100100];
struct p{int begin;int end;
}a[100100];
int cmp(p a,p b){return a.begin<b.begin;
}
typedef long long ll;const ll mol=1e9+7;
int main(){int t;cin>>t;while(t--){int n;cin>>n;int idx=0;for( int i=1;i<=n;i++){int x;int beginx=-11;int endx=0;int cnt=0;stack<int>st;int m;cin>>m;for( int i=1;i<=m;i++){cin>>x;st.push(x);}endx=st.size();while(!st.empty()){cnt++;int now=st.top();st.pop();beginx=max(beginx-1,now+1);}endx+=beginx;a[++idx].begin=beginx;a[idx].end=endx;}sort(a+1,a+1+idx,cmp);int res=a[1].begin;int now=a[1].end;for( int i=2;i<=idx;i++){if(now>=a[i].begin) now+=a[i].end-a[i].begin;else {res+=a[i].begin-now;now=a[i].end;}}cout<<res<<endl;}
}
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
