刚开始学C++,做题看题解的时候遇到一个不懂的代码,希望各位能教教我。代码如下:
#include <bits/stdc++.h>
#define int long long
using namespace std;
pair<pair <char,int>,int> a[500005];
int ans[500005];
signed main(int argc, char** argv)
{
ios::sync_with_stdio(false);
cin.tie(0);
int T;
cin >> T;
while(T--)
{
int n;
cin >> n;
for(int i=1;i<=n;i++)
cin >> a[i].first.second;
for(int i=1;i<=n;i++)
cin >> a[i].first.first;
for(int i=1;i<=n;i++)
a[i].second=i;
sort(a+1,a+n+1);
for(int i=1;i<=n;i++)
ans[a[i].second]=i;
for(int i=1;i<=n;i++)
cout << ans[i] << " ";
cout << "\n";
}
return 0;
}
主要是想知道:
1、signed main(int argc, char** argv) 是什么意思呀
2、ios::sync_with_stdio(false);
cin.tie(0);
这两行又是什么呀?是必须的吗?
3、看到题解后,我补充了一点的 pair<> 知识,所以想知道 sort() 是按照哪个对象进行的从小到大排序哇?