Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- const int N=505;
- int n,m,i,j,ok,ans;
- int a[N][N],f[N][N];
- int prim(int x)
- {
- if(x==0||x==1) return 0;
- for(int i=2; i*i<=x; i++)
- if(x%i==0) return 0;
- return 1;
- }
- int sum(int x)
- {
- if(x/10==0) return x%10;
- else return x%10+sum(x/10);
- }
- int main()
- {
- cin>>n>>m;
- for(i=1; i<=n; i++)
- for(j=1; j<=m; j++)
- cin>>a[i][j];
- i=1,j=1;
- while(i!=n || j!=m)
- {
- ans++;
- ok=1;
- if(!f[i][j] && prim(a[i][j]))
- {
- if(i==1 && j==1) ok=0;
- else if(i==1) f[i][j]=1,j--;
- else if(j==1) f[i][j]=1,i--;
- else f[i][j]=1,i--,j--;
- }
- else if(!f[i][j] && prim(sum(a[i][j])))
- {
- if(i==n) f[i][j]=1,j++;
- else if(j==m) f[i][j]=1,i++;
- else f[i][j]=1,i++,j++;
- }
- else
- {
- j++;
- if(j==m+1)
- j=1,i++;
- }
- if(ok==0)
- {
- j++;
- if(j==m+1)
- j=1,i++;
- }
- }
- cout<<ans+1;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement