RT,我45.
#include<bits/stdc++.h>
using namespace std;
#define int long long
int T,a[10];
signed main(){
cin>>T;
while(T--){
int ans=0;bool can1=1,can2=1;
for(int i=1;i<=9;i++){
cin>>a[i];
//cout<<i<<' '<<a[i]<<'\n';
if((i==4||i==5||i==3||i==9)&&a[i]){
//cout<<i<<' ';
//ans+=a[6]
can1=0;
}
if((i==2||i==7||i==5||i==9)&&a[i]){
//ans+=a[8]
can2=0;
}
}if(a[6]){
ans+=a[6]-can1;
a[6]=can1;
}if(a[8]){
ans+=a[8]-can2;
a[8]=can2;
}//cout<<ans<<' '<<can1<<' '<<can2<<'\n';
ans+=min(a[3],a[4])+min(a[2],a[7])+min(a[5],a[9])*2;
//cout<<ans<<' ';
int now1min=min(a[3],a[4]),now2min=min(a[2],a[7]),now3min=min(a[5],a[9]);
a[3]-=now1min;a[4]-=now1min;a[2]-=now2min;a[7]-=now2min;a[5]-=now3min;a[9]-=now3min;
if(a[5]==a[9]){
if((now1min||now2min)&&now3min){
ans++;
}if(now3min) ans--;
}else{
if(a[5]>a[9]){
//a[5]-=a[9];
ans+=min(a[3],a[5])+min(a[7],a[5]);
}else{
//a[9]-=a[5];
ans+=min(a[2],a[9])+min(a[4],a[9]);
}
}cout<<ans<<'\n';
}
}
思路就是分讨
出题人非要出这样这个题恶心选手吗 还乱序排序 生怕选手做出来