天津大学2024-2025 预推免 机试题目(第二批)
题目来源:天津大学2024-2025 预推免 机试题目(第二批)智算、新传_保研机试真题-CSDN博客
题目似乎有点问题,也没有数据范围,就写了前三题,简单写一下
A
#include<bits/stdc++.h>
using namespace std;
#define int long long
void solve(){string s;cin>>s;//标记连续的t不输出即可for(int i = 0 ; i < s.size() ; i++){if(s[i] != 't'){cout<<s[i];}else{if(i+1 < s.size() && s[i+1] == 't'){while(i < s.size() && s[i] == 't'){i++;}i--;}else{cout<<s[i];}}}cout<<endl;
}
signed main(){int tt = 1;cin>>tt;while(tt--){solve(); }return 0;
}
B
#include<bits/stdc++.h>
using namespace std;
#define int long long
void solve(){int a[9];for(int i = 1 ; i <= 8 ; i++){cin>>a[i];}//初始能组成的int ans = 0;while(a[1] > 0){if(a[3] < a[6]){//大月饼需要的a[2] -= (a[6]-a[3])*a[8];a[3] = a[6];}if(a[2] < a[5]){a[1] -= (a[5]-a[2])*a[7];a[2] = a[5];}cout<<a[1]<<" "<<a[2]<<" "<<a[3]<<endl;if(a[1] < a[4]){break;}ans++;a[1] -= a[4];a[2] -= a[5];a[3] -= a[6];}cout<<ans<<endl;
}
signed main(){int tt = 1;cin>>tt;while(tt--){solve(); }return 0;
}
C
#include<bits/stdc++.h>
using namespace std;
#define int long long
vector<vector<char>> g(1010,vector<char>(1010));
int n,m;
int ans = 0;
int dx[4] = {0,0,1,-1};
int dy[4] = {1,-1,0,0};
vector<int> vt(50,0);
void dfs(int x,int y,int len){// cout<<x<<" "<<y<<" "<<g[x][y]<<endl;// return;ans = max(ans,len);vt[g[x][y] - 'A' + 1] = 1;for(int i = 0 ; i < 4 ; i++){int tx = x + dx[i];int ty = y + dy[i];if(tx <= 0 || tx > n || ty <= 0 || ty > m){continue;}if(vt[g[tx][ty] - 'A' + 1] == 1){continue;}vt[g[tx][ty] - 'A' + 1] = 1;dfs(tx,ty,len+1);vt[g[tx][ty] - 'A' + 1] = 0;}
}
void solve(){cin>>n>>m;for(int i = 1 ; i <= n ; i++){for(int j = 1 ; j <= m ; j++){cin>>g[i][j];}}dfs(1,1,1);cout<<ans<<endl;
}
signed main(){int tt = 1;// cin>>tt;while(tt--){solve(); }return 0;
}