莱芜做网站优化,洛阳软件开发公司有哪些,云谷 网站建设,专门做品牌网站设计服务A. 国际旅行Ⅰ
题目#xff1a; 思路#xff1a;
因为题意上每个国家可以相互到达#xff0c;所以只需要排序#xff0c;输出第k小的值就可以了。
AC代码#xff1a;
#includebits/stdc.h
#define int long long
#define IOS ios::sync_with_stdio(0);cin.tie…A. 国际旅行Ⅰ
题目 思路
因为题意上每个国家可以相互到达所以只需要排序输出第k小的值就可以了。
AC代码
#includebits/stdc.h
#define int long long
#define IOS ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
using namespace std;
int a[1010];
signed main()
{IOSint n,m,q,u,v,k;cinnmq;for(int i0;in;i)cina[i];for(int i1;im;i){cinuv;}sort(a,an);for(int i1;iq;i){cink;couta[k-1]\n;}
}D.A*BBBB
题目 思路
因为数据范围特别大如果用高精乘的话会时间超限但是题目里面说b的每一位数字都是一样的所以就把该数字题出来后面都是1*1只需要用a乘一个个位数然后再错位相加。
AC代码
#includebits/stdc.h
#define int long long
#define IOS ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
using namespace std;
typedef pairint,int PII;
const int N2e620;
int a[N],ans[N],num[N],b[N];
signed main()
{IOSint t;cint;while(t--){memset(a,0,sizeof(a));string s1,s2;cins1s2;reverse(s1.begin(),s1.end());int ns1.size();for(int i0;in;i){b[i]s1[i]-0;a[i]b[i]*(s2[0]-0);a[i1]a[i]/10;a[i]%10;
// a[i]*(s2[0]-0);
// if(a[i]10)
// {
// a[i1]a[i]/10;
// a[i]%10;
// }}
// for(int i0;in;i)
// {
// if(a[i]10)
// {
// a[i1]a[i]/10;
// a[i]%10;
// }
// }if(a[n]0) n--;reverse(a,an1);int ms2.size();ans[0]a[0];for(int i1;in;i){ans[i]ans[i-1]a[i];}int r-1,l-m-1;int ssnm-1;for(int i0;iss;i){r;l;int rr,ll;if(rn) rrans[n];else rrans[r];if(l0) ll0;else llans[l];num[i]rr-ll;}for(int iss;i1;i--){if(num[i]10){num[i-1]num[i]/10;num[i]%10;}}int dd0;for(int i0;iss;i){if(num[i]0dd0i!ss) continue;dd1;coutnum[i];}cout\n;}
}F. 水灵灵的小学弟
题目 思路
一开始一位是个博弈题刚想开写发现两个人的字母缩写相同直接输出就可以了。
AC代码
#includebits/stdc.h
#define int long long
#define IOS ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
using namespace std;
signed main()
{IOSint t;cint;while(t--){int a,b;cinab;coutDHY\n;}
}H.狼狼的备忘录
题目 思路
一道模拟题用了一个map里面套set如果mp[id]的大小为空的话就往里面存否则遍历这个set如果mp[id]中有比该字符串长的字符串就需要判断该字符串是否为其后缀遍历完后如果不是mp[id]任何一个的字符串就存入里面如果该字符比前面已存入的长就要遍历这个set看谁是该字符串的后缀删掉。最后从头输出map。
AC代码
#includebits/stdc.h
#define int long long
#define IOS ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
using namespace std;
signed main()
{IOSint n;cinn;mapstring,setstring mp;for(int i0;in;i){string id;int op;cinidop;while(op--){string x;cinx;if(mp[id].empty())mp[id].insert(x);else{int flag1;vectorstring q;for(auto tt:mp[id]){if(tt.size()x.size()){int ktt.rfind(x);if(k!-1){if(kx.size()tt.size())flag0;}}else{int kx.rfind(tt);if(k!-1){if(ktt.size()x.size())q.push_back(tt);}}}if(flag) mp[id].insert(x);if(!q.empty()){for(auto ss:q) mp[id].erase(ss);}}}}coutmp.size()\n;for(auto i:mp){couti.first i.second.size() ;for(auto j:i.second)coutj ;cout\n;}}I.重生之zbk要拿回属于他的一切
题目 思路
暴力遍历一遍就可以了。
AC代码
#includebits/stdc.h
#define int long long
#define IOS ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
using namespace std;
signed main()
{IOSint n,t0;cinn;string s;cins;for(int i0;in;i){//couts[i] ;if(s[i]c){if(s[i1]hs[i2]us[i3]as[i4]n){t;s[i]s;s[i1]s;s[i2]s;s[i3]s;s[i4]s;}}}coutt\n;
}J. 这是签到
题目 思路
数据范围特别小我直接纯暴力写的根据下面给的33的公式推出来4,5的直接暴力给a了。 根据33的行列式可以得出最终结果是主对角线对应的乘积减去副对角线对应的乘积的和。比如从左上出发最长的正对角线对应的是从右上出发最长的正对角线相减左上的正对角线右边的一个对角线加上左下对应右上的正对角线右边的一个对角线加上左上依次类推可以得出4,5的公式。
AC代码
#includebits/stdc.h
#define int long long
#define IOS ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
using namespace std;
int a[10][10],s[10];
int ssINT_MAX;
signed main()
{IOSint n,m;cinnm;for(int i1;in;i){for(int j1;jm;j){cina[i][j];}}int tmin(n,m);s[1]a[1][1];s[2]a[1][1]*a[2][2]-a[1][2]*a[2][1];s[3]((a[1][1]*a[2][2]*a[3][3]-a[1][3]*a[2][2]*a[3][1])(a[1][2]*a[2][3]*a[3][1]-a[1][1]*a[2][3]*a[3][2])(a[1][3]*a[2][1]*a[3][2]-a[1][2]*a[2][1]*a[3][3]));//couts[3]\n;s[4]((a[1][1]*a[2][2]*a[3][3]*a[4][4]-a[1][4]*a[2][3]*a[3][2]*a[4][1])(a[1][2]*a[2][3]*a[3][4]*a[4][1]-a[2][4]*a[3][3]*a[4][2]*a[1][1])(a[1][3]*a[2][4]*a[3][1]*a[4][2]-a[3][4]*a[4][3]*a[1][2]*a[2][1])(a[2][1]*a[3][2]*a[4][3]*a[1][4]-a[1][3]*a[2][2]*a[3][1]*a[4][4]));s[5]((a[1][1]*a[2][2]*a[3][3]*a[4][4]*a[5][5]-a[1][5]*a[2][4]*a[3][3]*a[4][2]*a[5][1])(a[1][2]*a[2][3]*a[3][4]*a[4][5]*a[5][1]-a[2][5]*a[3][4]*a[4][3]*a[5][2]*a[1][1])(a[1][3]*a[2][4]*a[3][5]*a[4][1]*a[5][2]-a[3][5]*a[4][4]*a[5][3]*a[1][2]*a[2][1])(a[1][4]*a[2][5]*a[3][1]*a[4][2]*a[5][3]-a[4][5]*a[5][4]*a[1][3]*a[2][2]*a[3][1])(a[1][5]*a[2][1]*a[3][2]*a[4][3]*a[5][4]-a[5][5]*a[1][4]*a[2][3]*a[3][2]*a[4][1]));//int ssINT_MAX;for(int i1;it;i){//couts[i] ;ssmin(s[i],ss);}if(nm)coutss\n;else{if(ss0)coutss\n;elsecout0\n;}
}