【PTA-训练day19】L2-031 深入虎穴 + L1-079 天梯赛的善良

L2-031 深入虎穴 - dfs找最大深度

PTA | 程序设计类实验辅助教学平台

思路:

这题和小字辈很像

【PTA-训练day14】L2-026 小字辈 + L1-054 福到了_Roye_ack的博客-CSDN博客

  • 先找到入口,入口就是所有门都不能通往的那个 可以用一个st数组把出现的门都置为true 则遍历所有门 如果st[i]为false的则为入口
  • 通过入口dfs 搜寻最大深度 并及时记录最大深度所对应的门编号
#include 
using namespace std;

const int N=1e5+10;
int n,maxx=-1,res;
vector> v; 

void dfs(int u,int d)
{
    if(v[u].size()==0)
        if(maxx>n;
    bool st[n+1]={false};
    v.resize(n+1); //因为vector是动态的 所以行要固定
    for(int i=1;i<=n;i++)
    {
        int k;
        cin>>k;
        while(k--)
        {
            int x;
            cin>>x;
            v[i].push_back(x);
            st[x]=true;//入口是其他门都不能通往的那个 则可以通往的门标为true 入口就是false
        }
    }
    for(int i=1;i<=n;i++) if(!st[i]) dfs(i,1);
    cout<

L1-079 天梯赛的善良 - 20 - 弱智题

#include 
using namespace std;

int main()
{
    int n,maxx=-1,minx=0x3f3f3f3f,c1=0,c2=0;
    cin>>n;
    int a[n];
    for(int i=0;i>a[i];
        maxx=max(maxx,a[i]);
        minx=min(minx,a[i]);
    }
    for(int i=0;i

 

L1-077 大笨钟的心情 - 15

#include 
using namespace std;

int main()
{
    int a[25];
    for(int i=0;i<24;i++) cin>>a[i];
    while(1)
    {
        int x;
        cin>>x;
        if(x<0||x>23) break;
        cout<50) puts("Yes");
        else puts("No");
    }
    
}

L1-075 强迫症 - 10

#include 
using namespace std;

int main()
{
    string s;
    cin>>s;
    int n=s.size();
    if(n==6) cout<

你可能感兴趣的:(PTA每日刷题计划,算法,c++,开发语言)